您可以通过多种方式将代理嵌入代码中,其中很多方法在此处记录。您可能要尝试升级您的版本,因为您使用的版本似乎已经很老了,因为它默认使用现已弃用的AMQ
Store,而不是较新的KahaDB存储。由于客户端线程之间存在竞争,您可能会遇到问题,因为它们使用可以争先在VM代理中创建的不同连接工厂。如果在生产者上设置create
= false选项,并确保使用者线程在此之后启动,则可以解决该问题,或者可以提前创建VM代理,然后在两个线程上添加create =
false,这样就可以解决问题。
BrokerService broker = new BrokerService();// configure the brokerbroker.setBrokerName("localhost");broker.setUseJmx(false);broker.start();然后在客户端代码中,只需通过此连接工厂配置进行附加。
ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("vm://localhost?create=false");


