0

ローカル開発環境で ActiveMQ に接続するために使用したクラスパスの jndi.properties ファイルで定義されている jms 接続設定があります。WebsphereMQ への別の jms 接続設定 ( webshperemq.jndi.properties など) を計画しているため、このファイルの名前を「activemq.jndi.properties」に変更したいと思います。ただし、applicationContext.xml で spring に activemq.jndi.properties を確認するように指示することにこれまでのところ成功していません。

これは、jndi.properties で機能する私の applicationContext.xml のスニペットです。

<!-- Define how to connect to the Message Queueing system -->
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName"    value="${jms.connectionFactory}" />
    <property name="resourceRef" value="true" />  
</bean>

<bean id="defaultDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName"    value="${jms.topic}" />
    <property name="resourceRef" value="true" />
</bean>

<!-- Define a connection template that links to the factory -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="defaultDestination" ref="defaultDestination" />
    <property name="receiveTimeout" value="6000" />
</bean>

${jms.connectionFactory} と ${jms.topic} の両方が maven からフィルタリングされています。activemq.jndi.properties からロードするために applicationContext.xml で何を変更する必要があるかについての入力は大歓迎です。

ありがとう!

4

1 に答える 1

0

そうですね、Mavenリソースを構成する必要があると考えてください。そのため、プロファイルに応じて別の構成ファイルの1つを使用し、代わりにSpring構成ファイルの内容を変更してください。

例えば:

<profiles>
    <profile>
        <id>local</id>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                    <includes>
                        <include>jndi.properties</exclude>
                    </excludes>
                </resource>
            </resources>
        </build>
    </profile>
    <profile>
        <id>webshpere</id>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                    <includes>
                        <include>webshperemq.jndi.properties</exclude>
                    </excludes>
                </resource>
            </resources>
        </build>
    </profile>
</profiles>
于 2012-05-29T06:17:17.233 に答える