解決方式:
在 applicationContext中
原本會有
... <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >這是使用jdbc的方式連的
<property name="dataSource" ref="jdbcDataSource"/>
</bean>
<bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
...>
...
加上
<bean id="jndidataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="your_JNDI_name"/>
<property name="resourceRef" value="false"/>
<property name="jndiTemplate" ref="jndiTemplate" />
</bean>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://your_JBoss_IP:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="jnp.disableDiscovery">true</prop>
</props>
</property>
然後在執行這隻獨立的jar 檔時,加上jboss 的jar 檔到 classpath中
for example:
不過這個方式要JDNI,好久啊~久到爆炸,在自己的localhost 跑都要超過兩分鐘 orzjava -cp /...[jboss home].../jboss-as/client/jbossall-client.jar:yourJarFile.jar your.main.class
沒有留言:
張貼留言