`
123003473
  • 浏览: 1040467 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JBOSS中配置JNDI数据源

 
阅读更多
环境:JBOSS4.2+jdk1.6+oracle9i

      项目中使用了spring注入的方式实例化数据源

1。在spring中的配置

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
      <value>DataSource</value>
    </property>
  </bean>

2。JBOSS配置数据源需要配置文件,jboss-4.2.2.GA\docs\examples\jca中用各种数据库的配置文件的实例。

oracle的配置文件为:oracle-ds.xml

打开,修改里面的内容

<datasources>
  <local-tx-datasource>
    <jndi-name>DataSource</jndi-name>
    <use-java-context>false</use-java-context>
    <connection-url>jdbc:oracle:thin:@localhost:1521:orclcn</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>sxwbxx</user-name>
    <password>sxwbxx</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </local-tx-datasource>
   <local-tx-datasource>
    <jndi-name>DataSource2</jndi-name>
    <use-java-context>false</use-java-context>
    <connection-url>jdbc:oracle:thin:@localhost:1521:orclcn</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>sxwbxx</user-name>
    <password>sxwbxx</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>
  </local-tx-datasource>
</datasources>

有几个数据源就写几个<local-tx-datasource>,如上,是两个数据源。

3.然后将oracle-ds.xml复制到E:\jboss-4.2.2.GA\server\default\deploy中。

4.如果在启动时提示找不到数据源,则部署项目的数据源名称前加java:

例如:<bean id="myDataSource"
        class="org.springframework.jndi.JndiObjectFactoryBean">
         <property name="jndiName">
          <value>java:pcis</value>
        </property>

      </bean>

至此,数据源就算是配好了

【转载地址】http://blog.sina.com.cn/s/blog_676015470100oidr.html




1. 使用JndiObjectFactoryBean,例如
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/MySqlDS</value>
</property>
</bean>

2. 使用JndiObjectTargetSource,例如
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource">
<property name="jndiName">
<value>queue/testQueue</value>
</property>
</bean>

3. 如果不使用JndiTemplate实现InitialContext环境变量的配置,则需要jndi.properties文件(放在classpath中,一般放在src下面),内容如下
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

4. 使用JndiTemplate实现InitialContext环境变量的配置,例如
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource">
<property name="jndiName">
<value>queue/testQueue</value>
</property>
<property name="jndiTemplate">
<ref local="jndiTemplate"/>
</property>
</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://localhost:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
</props>
</property>
</bean>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics