Gói chính thức · Framework
Thời gian thực cho Spring Boot, theo cách của Spring
Một starter tiêm sẵn client Hibira, cấp quyền kênh private và presence bằng các phương thức bean có chú thích, và biến webhook thành sự kiện ứng dụng. Trình duyệt và ứng dụng kết nối bằng pusher-js, Laravel Echo hoặc SDK Pusher cho di động; không cần tự vận hành máy chủ WebSocket hay STOMP broker.
hibira-spring-boot-starterMaven Central ↗GitHub ↗
- @HibiraChannel cấp quyền kênh theo người dùng từ Spring Security, và starter cung cấp sẵn các endpoint xác thực mà pusher-js gọi, trên Spring MVC hoặc WebFlux.
- @HibiraBroadcast gửi sự kiện ứng dụng tới trình duyệt sau khi giao dịch được commit, còn webhook đến dưới dạng WebhookEvent cho @EventListener.
- Client còn gửi vào hộp thông báo, gửi thông báo đẩy và yêu cầu phê duyệt. Hỗ trợ Spring Boot 3 và 4, Java 17 trở lên; hibira-java dùng được mà không cần Spring.
Đăng nhập để xem các đoạn mã này với host cụm của riêng bạn. Đăng nhập
Cài đặt
<dependency> <groupId>io.hibira</groupId> <artifactId>hibira-spring-boot-starter</artifactId> <version>0.1.0</version> </dependency> <!-- environment --> HIBIRA_APP_ID=YOUR_APP_ID HIBIRA_KEY=YOUR_APP_KEY HIBIRA_SECRET=YOUR_APP_SECRET HIBIRA_HOST=ws.hibira.ioThiết lập
class Channels { boolean order(Principal user, long orderId) { return orders.isOwner(orderId, user.getName()); } } record OrderShipped(long orderId, String carrier) {} // in a @Transactional service: sent once the transaction commits events.publishEvent(new OrderShipped(1042, "DHL")); hibira.trigger("orders", "order.created", Map.of("id", 1042)); // or send directlySử dụng
const pusher = new Pusher('YOUR_APP_KEY', { wsHost: 'ws.hibira.io', cluster: '', enabledTransports: ['ws', 'wss'], channelAuthorization: { endpoint: '/hibira/auth', headers: { 'X-XSRF-TOKEN': csrfToken } }, userAuthentication: { endpoint: '/hibira/user-auth', headers: { 'X-XSRF-TOKEN': csrfToken } }, }); pusher.signin(); // hibira.sendToUser(...) reaches this tab pusher.subscribe('private-orders.1042').bind('order.shipped', (order) => console.log(order));
Trước khi bắt đầu
- Secret của ứng dụng chỉ hiện một lần, khi bạn tạo ứng dụng hoặc xoay vòng secret. Hãy giữ nó trên máy chủ, không bao giờ đưa vào trình duyệt hay bản build game.
- Khi dùng Spring Security, hãy gửi token CSRF từ trình duyệt (hoặc miễn /hibira/auth và /hibira/user-auth), và cho /hibira/webhooks đi qua mà không cần phiên hay token CSRF: endpoint tự kiểm tra chữ ký.
- Với gói Free, hãy liệt kê mọi origin tải trang của bạn trong allowed origins của ứng dụng (http://localhost:8080 khi phát triển, sau đó là tên miền của bạn). "*" cần gói trả phí.
Dùng app key từ bảng điều khiển; secret chỉ để trên máy chủ của bạn. Kênh, sự kiện và endpoint xác thực hoạt động y như với Pusher. Tạo tài khoản miễn phí →