CentOS6.3でJboss7.1.1を実行しています。Jboss 4.0.2で実行できた戦争があります(古い、私は知っています、それが更新している理由です)が、Jboss7で実行するのに問題があります。
META-INF / MANIFEST.MFファイルの下に、次のエントリがあります。
Dependencies: com.jnetdirect,org.hibernate
そして私のMETA-INF/jboss-deployment-structure.xmlには、次のものがあります。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.hibernate" export="true" />
<module name="com.jnetdirect" export="true" />
</dependencies>
</deployment>
</jboss-deployment-structure>
{JBOSS_HOME} / modules / com / jnetdirect / mainフォルダーを作成し、そこにJSQLConnect.jar、JSQLConnect.jar.index、およびmodule.xmlを配置しました。
私のmodule.xmlファイルには次のものが含まれています。
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.jnetdirect">
<resources>
<resource-root path="JSQLConnect.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
私のJSQLConnect.jar。の出力が含まれています。これは、 vimとの使用からエントリjar -tf JSQLConnect.jar
を削除しました。.class
:%s/.class//
./standalone.sh
{JBOSS_HOME} / binから実行すると、次のようになります。
13:38:12,402 ERROR [stderr] (MSC service thread 1-1) org.hibernate.HibernateException: Specified JDBC Driver com.jnetdirect.jsql.JSQLDriver class not found
13:38:12,402 ERROR [stderr] (MSC service thread 1-1) at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:104)
<snip>
13:38:12,430 ERROR [stderr] (MSC service thread 1-1) Caused by: java.lang.ClassNotFoundException: com.jnetdirect.jsql.JSQLDriver from [Module "org.hibernate:main" from local module loader @34985fc6 (roots: /usr/local/src/jboss-as-7.1.1.Final/modules)]
13:38:12,434 ERROR [stderr] (MSC service thread 1-1) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
<snip>
13:38:12,452 INFO [stdout] (MSC service thread 1-1) com.cs.common.cache.SessionFactoryCache.processRequest : Exception : org.hibernate.HibernateException: Specified JDBC Driver com.jnetdirect.jsql.JSQLDriver class not found
13:38:12,453 INFO [stdout] (MSC service thread 1-1) at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:104)
<snip>
13:38:12,484 INFO [stdout] (MSC service thread 1-1) Caused by: java.lang.ClassNotFoundException: com.jnetdirect.jsql.JSQLDriver from [Module "org.hibernate:main" from local module loader @34985fc6 (roots: /usr/local/src/jboss-as-7.1.1.Final/modules)]
13:38:12,484 INFO [stdout] (MSC service thread 1-1) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
私はstandalone.xmlに以下を含めてみました:
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/REDACTED" pool-name="REDACTED" enabled="true" use-java-context="true">
<connection-url>jdbc:JSQLConnect://redacted.net:1433;DatabaseName=REDACTED</connection-url>
<driver>jnetdirect</driver>
<security>
<user-name>redacted</user-name>
<password>redacted</password>
</security>
</datasource>
<drivers>
<driver name="jnetdirect" module="com.jnetdirect">
<driver-class>com.jnetdirect.jsql.JSQLDriver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>
これを行うと、起動時に次のエントリが表示されます。
13:38:09,720 WARN [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010402: Unable to instantiate driver class "com.jnetdirect.jsql.JSQLDriver": java.lang.ClassNotFoundException: com.jnetdirect.jsql.JSQLDriver from [Module "com.jnetdirect:main" from local module loader @34985fc6 (roots: /usr/local/src/jboss-as-7.1.1.Final/modules)]
13:38:09,748 INFO [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem
13:38:09,755 INFO [org.jboss.as.security] (MSC service thread 1-3) JBAS013100: Current PicketBox version=4.0.7.Final
13:38:09,769 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem
13:38:09,771 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
13:38:09,786 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 27) Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "jnetdirect")
]) - failure description: "JBAS010434: Unable to instantiate driver class \"com.jnetdirect.jsql.JSQLDriver\". See log (WARN) for more details"
ただし、以前と同じClassNotFoundException。
興味深いことに、サーバーをシャットダウンすると、次のように表示されます。
13:38:17,424 INFO [org.jboss.as.server.deployment] JBAS015877: Stopped deployment common.war in 40ms
13:38:17,426 INFO [org.jboss.as.controller] JBAS014774: Service status report
JBAS014776: Newly corrected services:
service jboss.jdbc-driver.jnetdirect (new available)
13:38:17,430 INFO [org.jboss.as] JBAS015950: JBoss AS 7.1.1.Final "Brontes" stopped in 39ms
スタンドアロン/ログディレクトリとスタンドアロン/tmpディレクトリ、および各実行間のcommon.war.deployedファイルを削除しています。
com.jnetdirect
これは休止状態の問題だったので、休止状態モジュールの依存関係に追加する必要があると思いましたが、それは役に立ちませんでした。
sqlserver用のjboss7ASデータソース、JBoss7上のJDBCPostgresqlドライバー、 Jboss -as-7.1.1をPostgresqlおよびhttps://community.jboss.org/thread/202025に接続する方法についてはすでに見てきましたが、これらはJNETDirectに固有のものです。
(上位からの注文のためにJNETDirectを使用しているため、別のJDBCドライバーに切り替えることはできません)
アイデア?