2

現在、CXF.xml にデータ ソース宣言があります。

<bean id="myDB2DataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver" />
    <property name="url" value="<my db2 url>" />
    <property name="username" value="<my username>" /> 
    <property name="password" value="<my password>" />
    <property name="connectionProperties">
        <props>
            <prop key="blockingReadConnectionTimeout">20</prop>
        </props>                                  
    </property>
</bean>

これはうまくいきます。しかし、おそらく JNDI を使用して、これをデータソース xml ファイル (my-ds.xml) に移動する必要があります。

次のようなもの: (cxf.xml 内)

<bean id="myDB2DataSource" class="org.springframework.jndi.JndiObjectFactoryBean"
    scope="singleton">
    <property name="jndiName">
        <value>java:/jdbc.datasource.myDB2DataSource</value>
    </property>
</bean>

および (my-ds.xml 内):

<datasource jndi-name="java:/jdbc.datasource.myDB2DataSource"
    pool-name="jdbc.datasource.myDB2DataSource" jta="false">
    <connection-url>"<my db2 url>"
    </connection-url>
    <driver>com.ibm.db2.jcc.DB2Driver</driver>
    <security>
        <user-name><my username></user-name>
        <password><my password></password>
    </security>
</datasource>

しかし、私はそれを機能させることはできません。cxf.xml と my-ds.xml の正しい構成は何ですか?

私は常に BeanCreationNotAllowedException に遭遇します。: 'cxf' という名前の Bean の作成中にエラーが発生しました

そして、私のビーン myDB2DataSource が見つからないため、これが原因であると私が信じている他の多くの例外 ()。

No matching bean of type [javax.sql.DataSource] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=myDB2DataSource)}

Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceMIMS' defined in ServletContext resource [/WEB-INF/cxf.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc.datasource.myDB2DataSource -- service jboss.naming.context.java."jdbc.datasource.myDB2DataSource"

ありがとう!

4

0 に答える 0