0

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ドライバーに切り替えることはできません)

アイデア?

4

1 に答える 1

0

モジュール内の.indexファイルに問題があったことが判明しました。私はそれを削除し、それはうまくロードされました。.indexファイルが何のためにあるのか、なぜ私のものが壊れたのかわかりません。

于 2013-02-21T14:49:14.707 に答える