2010-09-28 38 views
9

Tôi hiện đang tự dạy mình Drools Expert/Flow cũng như GWT. Tôi muốn sử dụng Drools Flow như một bus sự kiện/lệnh và công cụ quy tắc nghiệp vụ để đạt được sự ghép nối lỏng lẻo giữa các phần khác nhau của ứng dụng.Thực hành tốt nhất để sử dụng Drools Expert/Flow trong một ứng dụng Web

Cho đến nay tôi đã nhận được cả Chuyên gia và Luồng hoạt động từ các trường hợp thử nghiệm của mình, nhưng tôi có một thời gian khó khăn để tìm cách thực hiện tốt nhất Các luồng trong vùng chứa web.

Tôi có nên đặt tất cả các giàn giáo vào một phiên EJB không trạng thái và để cho mỗi yêu cầu thiết lập mọi thứ từ đầu và sau đó chạy các luồng/quy tắc? Điều này có vẻ như một sự lãng phí nguồn lực cho tôi. Thay vào đó, tôi có thể lưu trữ một phiên kiến ​​thức duy nhất và chia sẻ các phiên giữa các yêu cầu web, truy cập vào cùng một lúc, quy mô kịch bản đó và có an toàn không (tôi đoán là không)? Các phiên kiến ​​thức tổng hợp có phải là một ý tưởng hay không?

Điều tôi đang yêu cầu về cơ bản là liệu có bất kỳ phương pháp hay nhất nào cho những điều trên không? Các tài liệu và ví dụ, trong khi nếu không khá tốt, không rõ ràng về những điểm cụ thể.

Tôi đã đọc gì đó về Drools Grid, không chắc liệu điều đó có giải quyết được vấn đề của tôi và điều đó dường như đang được phát triển hay không. Nếu câu hỏi của tôi không rõ ràng, hãy nói như vậy.

BR Magnus

Trả lời

3

Một KnowledgeBase là chủ đề an toàn và nặng cân (nó không phải là giá rẻ để tạo ra), vì vậy có thể bạn sẽ muốn giữ lại rằng trong một phạm vi ứng dụng.

Hiện tại, hầu hết mọi người có xu hướng sử dụng kiến ​​trúc không quốc tịch và tạo StatelessKnowlegdeSession (chuỗi không an toàn và rẻ tiền để tạo) cho mỗi yêu cầu web, ví dụ như bean phiên không trạng thái (hoặc đậu seam/CDI hoặc đậu mùa xuân)). Tuy nhiên, nếu bạn có sức mạnh của EJB nhà nước, nó có thể được thưởng để tiếp tục sử dụng một StafefulKnowlegdeSession để xử lý tất cả các yêu cầu trong cùng một cuộc trò chuyện.

Tôi không chắc chắn nếu StatefulKnowlegdeSession là chủ đề an toàn (không nghĩ như vậy), vì vậy tôi đưa ra một vấn đề: https://issues.jboss.org/browse/JBRULES-2842

+0

Unfortunaly sử dụng Drools dòng chảy ngầm có nghĩa là tôi phải sử dụng một StatefulKnowledgeSession, nếu không chảy doesn' t làm việc. Tôi đã thử điều đó và từ những gì tôi nhớ tôi có một ngoại lệ thời gian chạy. Gợi ý duy nhất tôi có thể tìm thấy chính mình, cho đến nay, là sự bền bỉ tất cả dữ liệu về phiên giữa các yêu cầu. Tôi đoán nó tóm tắt các mẫu sử dụng của công cụ. Có lẽ tôi đang thiếu một cái gì đó cơ bản trong ứng dụng của tôi về Drools. Các exampels tôi đã tìm thấy có vẻ nghiêng về hướng sử dụng ứng dụng máy tính để bàn (Swing) và một phiên liên tục liên tục. – Magnus

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