我理解Java JMS API
提供了对异步生成和使用消息的支持。
例如,我将使用java实现JMS
生成器并将消息发送到JBOSS Message(Destination)
。
假设外部应用程序说分布式环境中的.net
应用程序希望通过连接到JBOSS Message(Destination)
来消费消息
这可能吗?
答案 0 :(得分:4)
有几种JMS消息类型:
JMS本身不是消息代理,只是现有代理的API。
如果您的Java代码和非Java代码可以就基于字节或文本的消息格式达成一致,则可以在它们之间交换消息。
答案 1 :(得分:1)
JMS仅定义应用程序可用于发送和接收消息的API。它没有定义有线格式。所以它取决于您使用的消息传递系统。 JBoss使用HornetQ(自JBoss 6,IIRC以来),HornetQ支持其他有线格式,即STOMP和AMQP。它还允许使用REST来发送和接收消息。
但是,由于互操作性经常如此,你必须限制自己实际工作。您不能交换所有邮件正文(如EJP has elucidated),也可能不是所有邮件标题和属性。
答案 2 :(得分:0)
此刻正在阅读一本关于它的书。
您将需要一个可以通过.Net服务访问的JMS服务器(直接或因为您的JMS可以配置为将消息发送到.Net MOM *)。
在任何情况下,它都不是JMS的一部分,而是特定产品的能力。开发JMS的目的是“足够通用”以在这种情况下工作,但是由特定的服务器实现(和配置)来支持它(或不支持)。
答案 3 :(得分:0)
在技术层面上,无论消息如何,都可以读取协议上的任何消息,因为它在某个时刻都被转换为0和1。但是,因为JMS是Java接口,所以即使你以这种方式读取消息,你在技术上也不会使用JMS - JMS是通过使用Java JMS接口和扩展这些接口的类来读取这些消息的java方法