Balaji Kannan
Balaji Kannan

Reputation: 417

Apache Camel - Not able to connect to As400 using jt400

Able to connect to DB2 database, using below datasource written in blueprint.

<!-- DB2 Configuration -->
    <bean id="dataSource" class="com.ibm.db2.jcc.DB2DataSource">
        <property name="serverName" value="${db.connection.serverName}" />
        <property name="databaseName" value="${db.connection.databaseName}" />
        <property name="portNumber" value="${db.connection.port}" />
        <property name="user" value="${db.connection.user}" />
        <property name="password" value="${db.connection.password}" />
        <property name="driverType" value="4" />
    </bean>
    <!-- This dataSource service is exposed by this bundle. -->
    <!-- It can be accessed by any bundle deployed in the same container -->
    <!-- Hence no need to do external database configuration AGAIN -->
    <service ref="dataSource" interface="javax.sql.DataSource">
        <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/databaseds" />
            <entry key="datasource.name" value="DatabaseDS" />
        </service-properties>
    </service>

Im trying to connect to AS400 db using below datasource bean

<!-- DB2 Configuration -->
    <bean id="as400DataSource" class="com.ibm.as400.access.AS400JDBCDriver">
        <property name="serverName" value="${db.connection.serverName}" />
        <property name="user" value="${as400db.connection.user}" />
        <property name="password" value="${as400db.connection.password}" />
    </bean>
    <!-- This dataSource service is exposed by this bundle. -->
    <!-- It can be accessed by any bundle deployed in the same container -->
    <!-- Hence no need to do external database configuration AGAIN -->
    <service ref="as400DataSource" interface="javax.sql.DataSource">
        <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/databaseds" />
            <entry key="datasource.name" value="DatabaseDS" />
        </service-properties>
    </service>

Below is the dependency added in my project pom.xml for AS400 connection

    <dependency>
        <groupId>net.sf.jt400</groupId>
        <artifactId>jt400</artifactId>
        <version>6.7</version>
    </dependency>

When i deploy in servicemix, its throwing following error.

Unable to resolve 249.0: missing requirement [249.0] osgi
.wiring.package; (osgi.wiring.package=com.ibm.as400))

tried installing jt400 using below command.

install -s wrap:mvn:net.sf.jt400/jt400/6.7

which is throwing following exception

java.lang.ArrayIndexOutOfBoundsException: 33806
        at aQute.bnd.osgi.Clazz.classConstRef(Clazz.java:1862)
        at aQute.bnd.osgi.Clazz.crawl(Clazz.java:1174)
        at aQute.bnd.osgi.Clazz.doCode(Clazz.java:1134)
        at aQute.bnd.osgi.Clazz.doAttribute(Clazz.java:945)
        at aQute.bnd.osgi.Clazz.doAttributes(Clazz.java:910)
        at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:741)
        at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
        at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
        at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
        at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
        at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
        at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
        at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
        at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
        at org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.
java:83)

Is there any other way to connect to AS400 i DB using datasource technique??

Thanks in advance..

Upvotes: 0

Views: 1253

Answers (0)

Related Questions