`
hasi
  • 浏览: 57701 次
  • 性别: Icon_minigender_1
  • 来自: 北京(老家内蒙古)
社区版块
存档分类
最新评论
阅读更多
有一个服务器端程序,和多个客户端程序分布在不同的机器上。服务器端生成一个任务指令后要下发到多个客户端,客户端接收指令后运行一些程序完成指令。
目前做法:使用数据库通讯,服务器程序把指令写到服务器端的数据库里,这时服务器端有个监控程序(c++程序)把指令下发到客户端某个目录下(以XML格式),客户端也有个监控程序(c++程序)接收xml格式的指令后启动完成指令的程序模块。
新的想法:想使用JMS完成指令的传达,服务器端的指令通过JMS服务传递到客户端,然后客户端程序执行指令。


请问这样的情况用JMS和不合理?
Tomcat上能不能使用JMS服务?我们没有用spring 架构
下一个版本可能要用Jboss,Jboss对JMS支持怎么样?
分享到:
评论
5 楼 hasi 2006-10-25  
非常感谢各位的关注,我下了activemq了,自己先看看
4 楼 cryolite 2006-10-25  
hasi 写道
有一个服务器端程序,和多个客户端程序分布在不同的机器上。服务器端生成一个任务指令后要下发到多个客户端,客户端接收指令后运行一些程序完成指令。


这是典型的消息订阅/发布模式啊,用JMS再适合不过了:
1.将来你的业务要求复杂后也容易扩展,比如将来要多个指令共同完成一个任务你现在怎么办,只能改源程序添加功能代码
2.出错了怎么办,指令写入数据库时出错怎么办?指令下发到客户端时出错怎么办,接受失败怎么办....这些自己做都需要大量的代码,而这些工作都可以交给JMS
3.移植也方便,无论是操作系统平台的移植还是消息服务器的移植,

推荐使用activemq,它还提供了JMS的C++客户端

hasi 写道
目前做法:使用数据库通讯,服务器程序把指令写到服务器端的数据库里,这时服务器端有个监控程序(c++程序)把指令下发到客户端某个目录下(以XML格式),客户端也有个监控程序(c++程序)接收xml格式的指令后启动完成指令的程序模块。

3 楼 cryolite 2006-10-25  
youlq 写道
现在得这种方式不是挺好的吗?

如果使用JMS,要考虑一下网络环境,对消息的事务性要求等问题。



不使用JMS难道就不要考虑这些问题?

业务复杂后这些问题自然就出现了,所以还不如早点用JMS
2 楼 youlq 2006-10-25  
现在得这种方式不是挺好的吗?

如果使用JMS,要考虑一下网络环境,对消息的事务性要求等问题。

另外,jms server 推荐activemq,至于使用jms与否和spring没有关系,只是spring提供一些jms的包装类便于使用罢了。如果使用activemq而不使用spring的话可以参考activemq的演示代码。
1 楼 robbin 2006-10-25  
我觉得可以用JMS,Tomcat没有JMS,你可以单独运行一个JMS Server,例如ActiveMQ什么的。

JBoss的JMS支持还行。

相关推荐

    JMS577主控通刷固件

    综合资源标签表明这个压缩包包含了多种资源,包括固件文件和更新工具,旨在解决特定问题,即恢复更换硬盘后JMS577主控的正常工作。 在实际操作中,用户首先需要下载这个压缩包,解压后运行"FwUpdateTool_v1_19_16_...

    javax.jms包,sun的JMS接口规范包

    9. **异常处理**:`javax.jms`包中还包括一系列的异常类,如`JMSException`、`MessageFormatException`、`IllegalStateException`等,这些异常帮助开发者处理在消息传递过程中可能出现的问题。 10. **JMS 1.1规范**...

    spring-jms源码

    《深入解析Spring JMS源码》 Spring JMS(Java Message Service)是Spring框架的一部分,它为Java消息传递提供了一种轻量级的抽象层,...同时,这也有助于我们在遇到问题时能快速定位和解决,提升我们的故障排查能力。

    USB转SATA硬盘盒JMS583量产工具

    标题中的“USB转SATA硬盘盒JMS583量产工具”是指一种专门用于将USB接口转换为SATA接口的硬件设备,其中JMS583是该转换器的主控芯片。这种硬盘盒允许用户将传统的SATA硬盘通过USB接口连接到电脑上,方便数据迁移、...

    Weblogic创建JMS服务器

    在文档"Start Weblogic创建jms服务器 20110126.doc"中,可能包含了上述步骤的详细指南,包括具体参数的设置和可能遇到的问题解决方法。这个文档可能是2011年的,因此需要注意的是,虽然基本流程不会改变,但WebLogic...

    jms-1.1.jar

    然而,有时由于网络问题或仓库配置问题,Maven可能无法正确下载JMS 1.1.jar。此时,开发者可以手动将JMS 1.1.jar放入本地Maven仓库,步骤如下: 1. 下载jms-1.1.jar文件。 2. 找到Maven的本地仓库路径,通常是`~/....

    jms.rar_jar j_java jms_jms_jms jar_jms.j

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。...通过学习和实践JMS,开发者能够更好地处理分布式环境下的通信问题,提升系统的灵活性和稳定性。

    JMS583方案原理图参考手册

    7. **信号完整性与EMI管理**: 在高速数据传输中,信号完整性和电磁兼容性(EMI)是需要特别关注的问题。JMS583方案可能包含关于如何优化PCB布线、使用适当的滤波和屏蔽技术来降低噪声和干扰的建议。 8. **系统级...

    JMS578固件资源支持UASP支持光驱ODD功能

    log文件则记录了设备的运行状态和固件升级过程中的日志信息,有助于排查问题和分析设备的运行情况。 综上所述,JMS578固件资源的提供是为了优化JMS578控制器的性能,增强UASP协议的支持,以及改善光驱ODD功能。用户...

    JMS 开发简明教程

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准API。它提供了一种可靠的消息传递机制,使得应用...学习JMS不仅可以提升你的专业技能,也有助于解决复杂的企业级问题。

    JMS578最新稳定固件,可更改休眠时间,包含救砖固件.zip

    当JMS578芯片的设备由于固件问题导致无法正常工作时,用户可以使用这个特殊固件进行修复。救砖固件通常是一种低级别的固件更新,旨在恢复设备的基本功能,使其能够重新进行正常的固件升级或操作。 压缩包内的两个...

    JMS specification

    - 产品与业务问题邮箱:jets-jms-business@eng.sun.com #### 六、版权与许可声明 根据JMS规范文档,该规范受版权保护,并且其中的信息可能受到一个或多个美国专利、外国专利或待申请专利的保护。除了下面的许可证...

    ActiveMQ 中javax.jms的源码 javax.jms-sources-1.1.zip

    《深入解析ActiveMQ中的javax.jms源码》 在Java消息服务(Java Message Service,简称JMS)领域,javax.jms是核心...通过对这些源码的分析,开发者可以提升自己的JMS编程技能,解决实际问题,构建更健壮的分布式系统。

    硬盘盒JMS578更新固件 休眠修改

    标题中的“硬盘盒JMS578更新固件 休眠修改”指的是针对采用JMS578芯片的硬盘盒进行固件升级和休眠设置调整的过程。在IT领域,固件是存储在硬件设备上的低级软件,它控制设备的操作并与操作系统交互。JMS578是一款...

    绿联JMS578芯片硬盘盒关闭休眠工具+教程

    绿联JMS578芯片硬盘盒是一款基于JMS578主控芯片的外部存储设备,它提供了方便快捷的数据存取方式。然而,在使用过程中,用户可能会遇到硬盘盒自动进入休眠状态的问题,这可能导致数据传输中断或者延长了等待时间。...

    JMS578_FW_Uptate.zip

    此次发布的“JMS578_FW_Uptate”固件更新,旨在提升设备的稳定性,优化驱动性能,以及可能修复已知的问题,以确保用户的硬盘盒在使用过程中能够保持最佳状态。 在进行固件更新前,用户必须首先确认自己的移动硬盘盒...

    JMS 使用 ActiveMQ 传送文件

    7. **错误处理和异常管理**:在文件传输过程中可能出现的问题及其解决方案。 通过这些知识点的学习和实践,开发者可以掌握使用JMS和ActiveMQ进行文件传输的核心技能,为构建可靠的、分布式的应用打下坚实的基础。

    JMS578_PPE_v124.01.00.02.zip

    WD MyBook JMS578固件升级涉及的"JMS578_PPE_v124.01.00.02"是针对这款硬盘控制器的特定版本,旨在解决已知问题、提升读写速度、增强稳定性,并可能包含新的安全特性。版本号中的"v124.01.00.02"表示固件的版本信息...

    绿巨能JMS578硬盘盒刷固件

    固件升级通常是为了修复已知问题、提高设备性能、增加新功能或优化兼容性。 刷固件,即更新设备的固件,是一个技术性较强的操作,需要谨慎进行。对于绿巨能JMS578硬盘盒来说,刷固件的过程可能包括以下步骤: 1. *...

Global site tag (gtag.js) - Google Analytics