私は、Spring 3のリモートJNDIからオブジェクトを取得する方法を知りました。どこでURLを指定しましたか、コンテキストファイルなどでどのように設定しましたか?これが可能であることを示唆する何らかの不快な情報を発見しましたが、別のサーバーにあるJNDiのためにそれを行う方法の特異なソースはありません。SpringのリモートJNDIへのアクセス
2
A
答えて
2
あなたはこのような基本構成の中に、例えば、JndiObjectFactoryBeanクラスを使用することができます。
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="yourLookupNameGoesHere" />
<property name="jndiEnvironment">
<props>
<prop key="java.naming.provider.url">yourRemoteServerGoesHere:PortGoesHere</prop>
<prop key="java.naming.factory.initial">yourNamingContextFactoryGoesHere</prop>
<prop key="java.naming.factory.url.pkgs">yourPackagePrefixesGoHere</prop>
<!-- other key=values here -->
</props>
</property>
<!-- other properties here-->
</bean>
必要に応じてあなたは、他のenvironment propertiesを指定することができますし、またthe Spring jee schemaを使用して、構成を簡素化することができます。
0
上記の例では、CAMEL Jmsコンポーネントを使用してJBoss EAP7のリモートactiveMQサーバーに接続する例を拡張しています。
あなたは春のXMLアプリケーションコンテキストでこれらの3つのBeanが必要になります
<bean id="remoteQCF" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${factoryJndiName}" />
<property name="jndiEnvironment">
<props>
<prop key="java.naming.provider.url">http-remoting://${remoteHost}:${remotePort}</prop>
<prop key="java.naming.factory.initial">org.jboss.naming.remote.client.InitialContextFactory</prop>
<!-- other key=values here <prop key="java.naming.factory.url.pkgs">yourPackagePrefixesGoHere</prop> -->
</props>
</property>
</bean>
<bean id="remoteQCFproxy"
class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="remoteQCF" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</bean>
<bean id="jmsremote" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="remoteQCFproxy" />
</bean>
各$ {xxxは}あなたが場所にしたり、アプリケーションコンテキスト内のプロパティのプレースホルダを提供しなければならない値を表します。
JMSキュー接続を開くためにユーザーとパスワードを必要としない場合は、2番目のBeanを省略して、Camel JmsComponent BeanのconnectionFactoryとして最初のBeanを直接参照できます。
「jmsremote:queue:myQueue1」のようなCAML URIでは 'jmsremote' Beanを使用できます
関連する問題
- 1. SpringからのリモートEJB3アクセス
- 2. リモートSQLデータベースへのAndroidアクセス
- 3. AndroidリモートXMLファイルへのアクセス
- 4. リモート共有サーバーへのアクセス
- 5. リモートSQL Serverデータベースへのアクセス
- 6. jndi + springチュートリアル
- 7. Spring 3 glassfish3のJNDIルックアップ
- 8. Spring JndiコンテキストとPropertyPlaceholderConfigurer
- 9. Spring-MVCのアプリケーションプロパティへのアクセス
- 10. SpringのStompヘッダーへのアクセス
- 11. spring boot/thymeleafネストループオブジェクトへのアクセス
- 12. Spring MVC3へのアクセスHttpServletRequest
- 13. ジョブパラメータへのアクセスSpringバッチ
- 14. Openshift V3データベースへのリモート(ワークベンチ)アクセス
- 15. IIS 6.0リモート共有へのアクセス許可
- 16. コンテナ外部のJNDI Spring Websphereのテスト
- 17. サーブレット3.0 Spring Javaの設定JNDI
- 18. Spring Frameworkでの例外処理JNDI
- 19. Springのバリデーションメソッドでのセッションへのアクセス
- 20. Spring State Machine eventNotAcceptedリスナーのStateContextへのアクセス
- 21. Spring 1.xでのシステム・プロパティへのアクセス
- 22. SpringからのEJBクラスへのアクセス
- 23. Spring 3 - jspのmessages.propertiesへのアクセス
- 24. Spring mvc:外部フォルダへのリソースのアクセス
- 25. AttributeConverterクラス内のSpring Beansへのアクセス
- 26. Jetty WebAppContextからのSpringアプリケーションコンテキストへのアクセス
- 27. spring mvc interceptor:postHandleでのResponseEntityへのアクセス
- 28. spring mvcテストのリクエストボディとリクエストヘッダーへのアクセス
- 29. Embedded Tomcat 6でSpringへのアクセス
- 30. 静的リソースへのアクセスSpring MVC 4