我们有一个程序可以连接到队列并侦听消息,就像大多数JMS应用程序一样。当前,我们有一个ejb.xml文件,该文件定义了我们的MDB,并将它们连接到JBoss服务器上的连接工厂。这样,我们可以通过JBoss服务器即时更改连接工厂属性,而不必每次都重新部署应用程序。
这是我们的ejb.xml外观的示例。您会注意到,目标是根据在连接工厂中找到的属性设置的,该属性的名称为JNDI EXAMPLE_CONN_FACTORY,可在我们的JBoss服务器上找到
<enterprise-beans>
<message-driven>
<display-name>EXAMPLE_MDB</display-name>
<ejb-name>EXAMPLE_MDB</ejb-name>
<ejb-class>ExampleMsgLoad</ejb-class>
<activation-config>
<activation-config-property>
<activation-config-property-name>useJNDI</activation-config-property-name>
<activation-config-property-value>true</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>java:/jms/wmq/queue/Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>connectionFactoryLookup</activation-config-property-name>
<activation-config-property-value>java:jboss/EXAMPLE_CONN_FACTORY</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxPoolDepth</activation-config-property-name>
<activation-config-property-value>3</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
如何在Spring Boot中做到这一点?据我发现,似乎在Spring中是不可能的,而Spring使您可以在application.properties中定义这些值。