最近、jbossとeclipseを使用してJPAプログラムを試しました。MySQLに接続するために、必要なmySQL-connector JARをJBossインストールディレクトリパスに配置し、jbossのstandalone.xmlに設定を追加しました。これにより、Eclipseからjbossを起動すると、正常に起動し、次のように表示されます。設定された接続も同様です。しかし、ejbプログラムを追加してサーバーを起動すると、次のエラーが発生します。これを解決するために検索すると、フォーラムごとに異なる解決策が提供されますが、問題に対処するものは何もないようです。
エラー
17:34:17,195エラー[org.jboss.msc.service.fail](MSCサービススレッド1-5)MSC00001:サービスjboss.deployment.unit。 "FirstEJBProject.jar" .INSTALL:org.jboss.mscの開始に失敗しました.service.StartException inservicejboss.deployment.unit。"FirstEJBProject.jar".INSTALL:org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java)でのデプロイメント"FirstEJBProject.jar"のフェーズINSTALLの処理に失敗しました:119)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc- 1.0.2.GA.jar:1.0.2.GA] org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0。 2.GA]java.util.concurrentで。ThreadPoolExecutor.runWorker(Unknown Source)[rt.jar:1.7.0_13] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[rt.jar:1.7.0_13] at java.lang.Thread.run(不明なソース)[rt.jar:1.7.0_13]原因:java.lang.IllegalArgumentException:org.jboss.msc.service.ServiceName.of(ServiceName.java:85)[jbossのJavaでは空の名前セグメントは許可されていません-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceName.append(ServiceName.java:112)[jboss-msc-1.0.2.GA.jar:1.0 .2.GA] at org.jboss.as.naming.deployment.ContextNames.buildServiceName(ContextNames.java:178)at org.jboss.as.naming.deployment.ContextNames $ BindInfo。(ContextNames.java:190)at org org.jboss.as.namingの.jboss.as.naming.deployment.ContextNames$BindInfo。(ContextNames.java:181)。org.jboss.as.naming.deployment.ContextNames.bindInfoForEnvEntry(ContextNames.java:165)のdeployment.ContextNames.bindInfoFor(ContextNames.java:124)org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deployPersistenceUnit(PersistenceUnitDeploymentProcessor。 java:319)org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.addPuService(PersistenceUnitDeploymentProcessor.java:258)at org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.handleJarDeployment(PersistenceUnitDeploymentProcessor.java:145)at org .as.jpa.processor.PersistenceUnitDeploymentProcessor.deploy(PersistenceUnitDeploymentProcessor.java:120)at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)[jboss-as-server-7.1.1.Final .jar:7.1.1。ファイナル]...さらに5
17:34:17,430 INFO [org.jboss.as.server](DeploymentScanner-threads-2)JBAS015870:デプロイメント"FirstEJBProject.jar"のデプロイが失敗メッセージ{"JBAS014671:Failed services" => {" jboss .deployment.unit。\"FirstEJBProject.jar\"。INSTALL"=>"サービスjboss.deployment.unit。\"FirstEJBProject.jar\"。INSTALLのorg.jboss.msc.service.StartException:フェーズINSTALLの処理に失敗しましたデプロイメントの\"FirstEJBProject.jar\" "}、" JBAS014771:依存関係がない/使用できないサービス "=>["jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.Validatorjboss.naming.context.java。 comp.FirstEJBProject.FirstEJBProject.StudentLogicMissing[jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic。Validatorjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "、" jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogicMissing [jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "]} 17:34:17,430 INFO [org.jboss.as.server .deployment](MSCサービススレッド1-2)JBAS015877:13msでデプロイメントFirstEJBProject.jarを停止しました17:34:17,445 INFO [org.jboss.as.controller](DeploymentScanner-threads-2)JBAS014774:サービスステータスレポートJBAS014775:新規依存関係がない/満たされていない:サービスjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject。StudentLogic(欠落)依存関係:[サービスjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactory、サービスjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.Validator] JBAS014777:失敗したサービス開始するには:servicejboss.deployment.unit。"FirstEJBProject.jar" .INSTALL:org.jboss.msc.service.StartException inservicejboss.deployment.unit。"FirstEJBProject.jar".INSTALL:デプロイメントのフェーズINSTALLの処理に失敗しました「FirstEJBProject.jar」deploy.unit。"FirstEJBProject.jar".INSTALL:org.jboss.msc.service.StartException inservicejboss.deployment.unit。"FirstEJBProject.jar".INSTALL:デプロイメント"FirstEJBProject.jar"のフェーズINSTALLの処理に失敗しましたdeploy.unit。"FirstEJBProject.jar".INSTALL:org.jboss.msc.service.StartException inservicejboss.deployment.unit。"FirstEJBProject.jar".INSTALL:デプロイメント"FirstEJBProject.jar"のフェーズINSTALLの処理に失敗しました
17:34:17,461エラー[org.jboss.as.server.deployment.scanner](DeploymentScanner-threads-1){"JBAS014653:複合操作が失敗し、ロールバックされました。失敗したステップ:"=>{"操作ステップ- 2 "=> {" JBAS014671:失敗したサービス"=>{"jboss.deployment.unit。\"FirstEJBProject.jar\"。INSTALL"=>"サービスjboss.deployment.unitのorg.jboss.msc.service.StartException 。\"FirstEJBProject.jar\"。INSTALL:デプロイメント\ "FirstEJBProject.jar \" "}のフェーズINSTALLの処理に失敗しました、" JBAS014771:依存関係がない/使用できないサービス "=>["jboss.naming.context.java。 comp.FirstEJBProject.FirstEJBProject.StudentLogic.Validatorjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogicMissing[jboss.naming.context.java。comp.FirstEJBProject.FirstEJBProject.StudentLogic.Validatorjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "、" jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java .comp.FirstEJBProject.FirstEJBProject.StudentLogicMissing [jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "]}}}FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "]}}}FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactoryjboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic] "]}}}
persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
version="1.0">
<!-- MySQL DataSource -->
<persistence-unit name="STUD">
<jta-data-source>java:/</jta-data-source>
<properties>
<property name="showSql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
sstandalone.xml
<datasource jndi-name="java:/mydb" pool-name="my_pool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/myschema</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password>password</password>
</security>
<statement>
<prepared-statement-cache-size>
100
</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="mysql" module="com.mysql"/>
</drivers>
</datasources>
私はここで何かが欠けていますか?
mySQL-ds.xmlを使用してみましたが、これを使用すると、データソースが解決できないため、別のエラーが発生します。プログラムをパッケージ化してデプロイするので、JBossでSQL接続を再度行う必要がないので、その解決策も知っていると役に立ちます。
ありがとうございました。