Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在xa事务中的无效目标上发送消息_Java_Transactions_Jms_Xa - Fatal编程技术网

Java 在xa事务中的无效目标上发送消息

Java 在xa事务中的无效目标上发送消息,java,transactions,jms,xa,Java,Transactions,Jms,Xa,当您在xa事务进行期间使用MessageProducer的send方法在目标上发送JMS提供程序上不可用的消息时,在这种情况下,send方法不会引发任何异常,而是在提交事务时引发异常。如果发送方法不是xa事务的一部分,它将抛出InvalidDestinationException。当异常是xa事务的一部分时,为什么不抛出异常??我使用arjuna tm进行事务处理。您使用的是哪种JMS实现?在事务中使用和在事务外使用时,Send的行为将非常不同。您无法真正比较何时抛出各种异常。这对你来说是个问题

当您在xa事务进行期间使用MessageProducer的send方法在目标上发送JMS提供程序上不可用的消息时,在这种情况下,send方法不会引发任何异常,而是在提交事务时引发异常。如果发送方法不是xa事务的一部分,它将抛出InvalidDestinationException。当异常是xa事务的一部分时,为什么不抛出异常??我使用arjuna tm进行事务处理。

您使用的是哪种JMS实现?在事务中使用和在事务外使用时,Send的行为将非常不同。您无法真正比较何时抛出各种异常。这对你来说是个问题吗?无论异常发生在何处,事务都应该是原子的。是的,事务中没有问题,它完全是原子的,但为什么它的行为不同。如果没有无效的目的地错误,我怎么知道目的地是无效的?这个行为是JBOSS JTA特定的,或者所有TM的行为都是这样的??TM是否覆盖应用程序的行为??它不是执行目标名称查找(或不执行)的JTA实现。JMS实现决定了这些事情应该在哪里进行。例如,ActiveMQ通常不关心目的地是否存在,但在此场景中会动态创建一个目的地。您必须研究JMS实现是如何实现这些功能的,以及它是否是可配置的。