2012-05-14 32 views
5

Tôi muốn nhúng ứng dụng dựa trên Play trong hệ thống của riêng mình, tương tự như những gì tôi có thể làm với Jetty. Để đơn giản hóa - thay vì chạy start tập lệnh, tôi muốn có phương thức start().Nhúng ứng dụng Play trong hệ thống tùy chỉnh

Để có mô tả nhiều hơn một chút chúng ta hãy giả định rằng tôi có kịch bản này:

  • tôi có một hệ thống phức tạp dựa trên mã của riêng tôi, có trách nhiệm để nhắn tin, xử lý sự kiện vv
  • Một phần của hệ thống đó sử dụng ánh xạ Morphia (MongoDB ORM), có thể được tái sử dụng bởi ứng dụng Play
  • Tại thời điểm này ứng dụng được bắt đầu bằng Trình bao bọc dịch vụ Java và chạy dưới dạng daemon
  • Tôi muốn mở rộng hệ thống này bằng cách thêm Chơi ứng dụng và tất cả đều phụ thuộc chuyển sang ứng dụng của riêng tôi và gọi một số phương thức để bắt đầu ứng dụng với ngăn xếp giao thức cơ bản (Netty)

Kịch bản này có thể xảy ra không?

Trả lời

3

Bạn có thể khởi động một máy chủ Chơi lập trình bằng cách sử dụng lớp NettyServer:
https://github.com/playframework/Play20/blob/2.0.4/framework/src/play/src/main/scala/play/core/server/NettyServer.scala

Giống như:

NettyServer.createServer(new File("/path/to/app")) 
+1

Có thêm một bước để biên dịch tập tin các tuyến đường? – Jason

+0

Tệp 'routes' luôn được biên dịch bởi trình biên dịch Play/sbt. –

Các vấn đề liên quan