我需要集成我的REST(Jersey)和串口通信。我现在遇到处理服务器操作的问题。基本上我使用RXTXcomm.jar库并直接打开端口(串口参数是硬编码的):
public class ApplicationConfig extends Application {
public ApplicationConfig () {
// init serial port here
}
}
我的问题:
感谢。
我不想通过HTTP请求传递数据。只需使用一些参数,然后在REST资源内部填充串行数据。请求将非常罕见,仅来自一个“客户”。
答案 0 :(得分:1)
我想如果在第一个请求仍在写入串口的情况下发出第二个请求,则可能存在潜在问题。
您可以创建一个独立的应用程序,它将通过tcp / ip(或命名管道或其他ipc方式)接收数据,将其缓冲在队列中并将其发送到串行端口。
答案 1 :(得分:1)
如果实现ServletContextListener
,则可以在服务器启动时初始化init类。
ServletContextListener
有一个contextInitialized(javax.servlet.ServletContextEvent)
方法,在服务器启动时会被调用,您可以覆盖它以初始化您的init类。ServletContextListener
有contextDestroyed(javax.servlet.ServletContextEvent)
,当服务器停止时会调用它,您可以覆盖它以关闭您的端口。