Возможность подключения к базе данных DB2, используя нижеприведенный источник данных, написанный в схеме.
<!-- 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>
Я пытаюсь подключиться к базе данных AS400, используя нижеприведенный компонент источника данных.
<!-- 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>
Ниже приведена зависимость, добавленная в мой проект pom.xml для подключения к AS400.
<dependency>
<groupId>net.sf.jt400</groupId>
<artifactId>jt400</artifactId>
<version>6.7</version>
</dependency>
Когда я развертываю в servicemix, возникает следующая ошибка.
Unable to resolve 249.0: missing requirement [249.0] osgi
.wiring.package; (osgi.wiring.package=com.ibm.as400))
попытался установить jt400, используя команду ниже.
install -s wrap:mvn:net.sf.jt400/jt400/6.7
который выдает следующее исключение
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)
Есть ли другой способ подключения к AS400 i DB с использованием метода источника данных??
Заранее спасибо..
install -s wrap:file:///C:/Install/jt400-6.7.jar
и получил симуляционную ошибку, но теперь я вижу, что пакет установлен и активен. - person Alexey Yakunin   schedule 13.01.2016