我们可以使用非java来使用JMS消息吗
我知道我们可以使用非java来使用JMS消息吗,java,jms,Java,Jms,我知道javajmsapi提供了异步生成和使用消息的支持 例如,我将使用java实现JMS生产者,并将消息发送到JBOSS消息(目的地) 假设外部应用程序说.net应用程序在分布式环境中希望通过连接到JBOSS消息(目的地) 有可能吗?目前正在读一本关于它的书 您需要一个可以通过.Net服务访问的JMS服务器(可以直接访问,也可以将JMS配置为向.Net MOM*发送消息) 在任何情况下,它都不是JMS的一部分,而是特定产品的一种功能。JMS的开发目的是“足够通用”以在这种场景中工作,但它取决于
javajmsapi
提供了异步生成和使用消息的支持
例如,我将使用java实现JMS
生产者,并将消息发送到JBOSS消息(目的地)
假设外部应用程序说.net
应用程序在分布式环境中希望通过连接到JBOSS消息(目的地)
有可能吗?目前正在读一本关于它的书 您需要一个可以通过.Net服务访问的JMS服务器(可以直接访问,也可以将JMS配置为向.Net MOM*发送消息) 在任何情况下,它都不是JMS的一部分,而是特定产品的一种功能。JMS的开发目的是“足够通用”以在这种场景中工作,但它取决于特定的服务器实现(和配置)来支持(或不支持)
- MOM:面向消息的中间件
- BytesMessage:任何人都可以阅读
- 短信:同上
- StreamMessage:任何可以读取网络有序基元类型的人都可以读取
- ObjectMessage:这些是序列化对象,只能由Java读取
- MapMessage:这些基本上是地图;同上
如果您的Java代码和非Java代码可以在基于字节或文本的消息格式上达成一致,则可以在它们之间交换消息。JMS仅定义应用程序可用于发送和接收消息的API。它没有定义导线格式。因此,这取决于您使用的消息传递系统。JBoss使用(因为JBoss6,IIRC),HornetQ支持其他有线格式,即和。它还允许使用REST发送和接收消息
但是,由于互操作性经常出现,您必须限制自己才能使其实际工作。您不能交换所有的消息正文(as),可能也不能交换所有的消息头和属性。谢谢@SJuan76,您的意思是它依赖于JMS提供程序,该提供程序对JAVA和.NET都足够兼容,可以从JMS服务器发送和接收消息?目前是否有支持JMS的服务器?WebSphere MQ具有JMS规范的Java和.NET(称为XMS.NET)实现。