2013-02-27 5 views
0

최근에 jboss와 eclipse로 JPA 프로그램을 시도했습니다. MySQL에 연결하기 위해 JBoss 설치 디렉토리 경로에 필요한 mySQL-connector JAR 파일을 넣었습니다. jboss의 standalone.xml에 구성을 추가했으며 Eclipse에서 jboss를 시작하면 제대로 시작됩니다. 나 또한 구성된 연결뿐. 하지만 내 ejb 프로그램을 추가하고 서버를 시작하면 다음과 같은 오류가 발생합니다.이 문제를 해결하기 위해 검색 할 때 각 포럼마다 다른 해결책을 제공하지만 아무 것도 내 문제를 해결하지 못하는 것 같습니다.mysql에 연결하는 동안 JBoss 서버 예외가 발생했습니다.

ERROR

17 : 34 : 17,195 오류 [org.jboss.msc.service.fail (MSC 서비스 스레드 1-5) MSC00001 : 서비스 시작 실패 jboss.deployment.unit . "FirstEJBProject.jar".INSTALL : org.jboss.msc.service.StartException 서비스 jboss.deployment.unit. "FirstEJBProject.jar".INSTALL : 단계의 설치 "FirstEJBProject.jar"설치를 처리하지 못했습니다. org.jboss.as.server.deployment.DeploymentUnitPhaseService.start (DeploymentUnitPhaseService.java:119) [jb oss-as-server-7.1.1.Final.jar : 7.1.1.Final] org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService (ServiceControllerImpl.java:1811) [jboss-msc-1.0. 2.GA.jar : 1.0.2.GA] at 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 (알 소스) [에서의 rt.jar : java.util.concurrent.ThreadPoolExecutor $ Worker.run에서 1.7.0_13 (알 소스) [RT. jar : 1.7.0_13]에서 java.lang.Thread.run (알 수없는 소스) [rt.jar : 1.7.0_13] 발생 원인 : java.lang.IllegalArgumentException : 비어 있음 Java에서 이름 세그먼트가 허용되지 않음 org.jboss.msc.service.ServiceName.of (ServiceName.java:85) [jboss-msc-1.0.2.GA.jar : 1.0.2.GA] at org.jboss.msc.service.ServiceName. 추가 (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) org.jboss.as.naming.deployment.ContextNames $ BindInfo에서 . org.jboss.as.naming.deployment.ContextNames $ BindInfo에서 (ContextNames.java:190) . (ContextNames.java:181) 에서 (org.jboss.as.naming.deployment.ContextNames.java:124) 된 .java 165) org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.addPuService에서 org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deployPersistenceUnit (PersistenceUnitDeploymentProcessor.java:319) (PersistenceUnitDeploymentProcessor.java:258에서)에 org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.handleJarDeployment org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deploy (PersistenceUnitDeploymentProcessor.java:120에서 (PersistenceUnitDeploymentProcessor.java:145) ) 에서 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 정보 [org.jboss.as.JBAS015870 : 배포 "FirstEJBProject.jar"의 배포가 실패 메시지 ("JBAS014671 : 실패한 서비스"=> { "jboss.deployment.unit. \"FirstEJBProject.jar])가 포함 된 롤백되었습니다. \\ ". INSTALL"=> "서비스의 org.jboss.msc.service.StartException jboss.deployment.unit. \"FirstEJBProject.jar \ "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. Validator.js " [ko] (MSC 서비스 스레드 1-2) JBAS015877 : 13ms에 FirstEJBProject.jar가 중지됨 17 : 34 : 17,445 정보 [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774 : 서비스 상태 보고 JBAS014775 : 새로운 누락/불완전한 종속성 : service jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.Stude ntLogic 부양 (누락) : jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.ValidatorFactory, 서비스 서비스 jboss.naming.context.java.comp.FirstEJBProject.FirstEJBProject.StudentLogic.Validator] JBST014777 : 시작에 실패한 서비스 : 서비스 jboss.deployment.unit. "FirstEJBProject.jar".INSTALL : 서비스의 org.jboss.msc.service.StartException jboss.deployment.unit. "FirstEJBProject.jar".INSTALL : 위상 배포 "FirstEJBProject.jar"를 설치하는 데 실패 처리

17 : 34 : 17,461 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads-1) { "JBAS014653 : 복합 작업 이 실패하여 롤백되었습니다. "=> {"작업 단계 -2 " => {"JBAS014671 : 실패한 서비스 "=> {"jboss.deployment.unit. \ "FirstEJBProject.jar \". INSTALL "=> "org. 서비스의 시작 코드 jboss.deployment.unit. "FirstEJBProject.jar"설치 : 배포 단계의 설치 단계 \ "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 ] "]}}}

의 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한다.xxx

<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 연결을 다시 할 필요가 없기 때문에 솔루션을 알고 있다면 도움이 될 것입니다.

감사합니다.

답변

2

문제는 내가 모든 사람의 도움을 주셔서 감사합니다, 나는 그렇게 마침내 자신을 고정 <datasource jndi-name="java:/mydb"에 제공 한 것과 동일한 이름을 입력하는 데 필요한 <jta-data-source>java:/</jta-data-source>로했다 모두에 대해 찾을 수 있습니다. 이

도움이 될 것입니다

고정형 지속성 XML 코드는

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
version="1.0"> 
<!-- MySQL DataSource --> 
<persistence-unit name="STUD"> 
    <jta-data-source>java:/mydb</jta-data-source> 
    <properties> 
     <property name="showSql" value="true" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
    </properties> 
</persistence-unit> 

희망

관련 문제