2013-02-12 60 views
-2

我开始一个新的Java项目,并且陷入了架构阶段。带网络前端通信的Java守护进程

的想法是创建一个Java守护进程(我设计这对于Linux),这将有一个Web前端(JSP?PHP,......)在Tomcat中运行。守护进程会定期轮询mysql数据并执行外部脚本和程序。

Web前端将用于查看来自mysql的数据并发信号通知守护进程开始一项新任务(例如,每隔x秒轮询Windows客户端上的任务列表命令),并将其呈现给浏览器。

我的问题是:

1)这是守护+ web前端很好地结合起来?我读到它可以用两个servlet完成,一旦tomcat启动就会加载一个servlet,但这限制了我与外部程序的通信以及使用其他系统调用,或者我错了吗?

2.)哪种web框架最适合这种情况? (GWT,Spring,?)

3.)如果要使用守护进程+ web前端组合,两者如何沟通(UNIX套接字或HTTP套接字或???)作为polling mysql往往不是我想要的去做?

4)是否JavaServerPages非常适合这也将是复杂的这种情况呢?

我以往的经验是做了一些的Java Swing应用程序,进行Webstart应用程序和一些PHP网页。

我很感激任何关于如何设计这个的建议。

谢谢!

彼得

回答

0

我对这个问题没有太多明确的,但我会尽量回答你的问题,不知道是否该将非常有意义,因为我不是上下文清楚。

1)是的,你可以使用该组合,所有的服务器都是线程。不确定为什么你需要2个servlet,但是你可以在ServletContextLister中启动你的守护进程。不建议在Servlet中使用守护进程。它如何限制与外部程序的通信或使用其他系统调用?

2)任何框架或根本没有框架。你给出的两个例子是完全不同的东西。

3)为什么2需要沟通?前端从mysql或守护程序获取数据。从这个问题看来,它从数据库中获取数据。

4)你可以用框架做的所有事情你也可以自己做。只有框架有帮助。

+0

前端如何从守护进程获取数据?通过哪种方式? – 2013-02-12 08:16:39

+0

如果它的一个公共数据(为所有客户端共享),那么守护进程可以将这些数据放在ServletContext中。客户端需要从那里获取数据。不是它取决于你希望客户如何?客户端是否需要自动刷新数据,或者用户是否需要访问某个特定链接并查看数据?这是一个自动刷新你需要使用Ajax轮询 – 2013-02-12 09:38:12