私は、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. リモート共有サーバーへのアクセス
- 3. リモートSQLデータベースへのAndroidアクセス
- 4. リモートSQL Serverデータベースへのアクセス
- 5. AndroidリモートXMLファイルへのアクセス
- 6. jndi + springチュートリアル
- 7. Spring 3 glassfish3のJNDIルックアップ
- 8. Spring-MVCのアプリケーションプロパティへのアクセス
- 9. Spring JndiコンテキストとPropertyPlaceholderConfigurer
- 10. Spring MVC3へのアクセスHttpServletRequest
- 11. IIS 6.0リモート共有へのアクセス許可
- 12. コンテナ外部のJNDI Spring Websphereのテスト
- 13. Spring Frameworkでの例外処理JNDI
- 14. サーブレット3.0 Spring Javaの設定JNDI
- 15. Spring 3 - jspのmessages.propertiesへのアクセス
- 16. spring mvc interceptor:postHandleでのResponseEntityへのアクセス
- 17. Spring mvc:外部フォルダへのリソースのアクセス
- 18. Embedded Tomcat 6でSpringへのアクセス
- 19. spring mvc3 integrationを使用したJNDI
- 20. JNDIルックアップが失敗する(Spring、JBoss)
- 21. SpringからJNDIリソースとしてコンフィグレーションされたJDBCドライバにアクセスするには?
- 22. SpringのJNDIによるログファイルの場所の制御?
- 23. Hibernate3の注釈のJNDIデータソースのSpring構成 - エラー
- 24. Spring Batchでのリモート・パーティショニングの良い例
- 25. Springリモート/ Webサービス技術
- 26. Spring DSLのCamel Contextバージョン(2.9.1)の抽象クラスのメソッドへのアクセス
- 27. Spring ControllerからのGWTフォームの値へのアクセス
- 28. Springのwebappフォルダ内のファイル/ディレクトリへのアクセス
- 29. WildFly 10 JNDIを使用したリモートEJB呼び出しClassNotFoundException javax.ejb.EJBException