2013-10-28 1 views
0

jackrabbit-jca-2.6.4.rar를 사용하여 Glassfish 4에 Jackrabbit 2.6.4를 배포했습니다. 나는 다음과 같은 구성 (JDBC를 통해 더비) 사용할 때지속성 관리자를 인스턴스화 할 수 없습니다. org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager

모든 작동합니다

<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager"> 
     <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> 
     <param name="schemaObjectPrefix" value="${wsp.name}_"/> 
    </PersistenceManager> 

을하지만 난 (데이터 소스를 통해 MySQL의)이 전환하지 않는 경우 :

<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager"> 
     <param name="url" value="jdbc/MySQLDataSource"/> 
     <param name="driver" value="javax.naming.InitialContext"/> 
     <param name="schemaObjectPrefix" value="${wsp.name}_"/> 
    </PersistenceManager> 

없음 런타임 속성을 데이터베이스 공급 업체 : null 배포시 테이블 만들기 : false 배포 취소시 테이블 삭제 : false com.pepedigital.omakase.template.boundary.Templ ateManager : SerialContext의 'java : comp/env/jcr/repository'에 대한 조회가 실패했습니다 [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs = com.sun.enterprise.naming} at com.sun.enterprise.container.common.impl.util. InjectionManagerImpl._inject (InjectionManagerImpl.java:717) com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject (InjectionManagerImpl.java:484) at com.sun.enterprise.container.common.impl. (InjectionServicesImpl.java:138) 에 의해 발생하는 오류 : SerialContext의 'java : comp/env/jcr/repository'에 실패했습니다. [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun .corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs = com.sun.enterprise.naming} [루트 예외는 javax.naming.CommunicationException : SerialContext의 통신 예외입니다 [myEnv = {java .naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url .pkgs = com.sun.enterprise.naming, com.sun.enterprise.naming.logicalName = java : comp/env/jcr/repository} [루트 예외는 java.lang.RuntimeException : javax.resource.ResourceException : 생성에 실패했습니다. 저장소 : 지속성 관리자를 인스턴스화 할 수 없습니다. org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager]] at com.sun.enterprise.naming.impl.SerialContext.look (SerialContext.java:491) at com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:438) at javax.naming.InitialContext.lookup (InitialContext.java:411) at javax. javax 등 naming.InitialContext.lookup (InitialContext.java:411) com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject (InjectionManagerImpl.java:613) 에서 ... (73)보다 의해 일으켰다. naming.CommunicationException : SerialContext의 통신 예외 : [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun.corba.ee.impl. presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs = com.sun.enterprise.naming, com.sun.enterprise.naming.logicalName = java : comp/env/jcr/repository} [루트 예외는 java입니다. lang.RuntimeException : javax.reso urce.ResourceException : 저장소를 만들지 못했습니다 : 지속성 관리자를 인스턴스화 할 수 없습니다. org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager] com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:513) com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:438) (javax.naming.InitialContext.lookup (InitialContext.java:411) at javax.naming.InitialContext.lookup (InitialContext.java) : 411) 에서 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create (JndiNamingObjectFactory.자바 : com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup (GlassfishNamingManagerImpl.java:745 90) ) com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup (GlassfishNamingManagerImpl.java:715에서 )에서 com.sun.enterprise.naming.impl.JavaURLContext.lookup (JavaURLContext.java:159) com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:471) ... 77 more 발생했습니다. 의해 : java.lang.RuntimeException : javax.resource.ResourceException : 저장소를 만들지 못했습니다 : 지속성 관리자 org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager com.sun.enterprise.resource.naming.ConnectorObjectFactory에서 인스턴스화 할 수 없습니다. getObjectInstance (ConnectorObjectFactory.java:200) at javax.naming.spi.Namin gManager.getObjectInstance (NamingManager.java:321) com.sun.enterprise.naming.impl.SerialContext.getObjectInstance (SerialContext.java:527) 에서 com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext. java : 487) ... 85 more 발생 원인 : javax.resource.ResourceException : 리포지토리 생성 실패 : 지속성 관리자를 인스턴스화 할 수 없습니다. org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager at org.apache.jackrabbit. jca.JCAManagedConnectionFactory.createRepository (JCAManagedConnectionFactory.java:220) com.sun.enterprise.resource.naming.ConnectorObjectFactory.getObjectInstance에서 org.apache.jackrabbit.jca.JCAManagedConnectionFactory.createConnectionFactory (JCAManagedConnectionFactory.java:153) 에서 (ConnectorObjectFactory. java : 156)... (88) 이상의 51,515, ]

I는 글래스 피쉬 MySQL의 JDBC 연결 풀 및 JDBC 연결 자원 (JDBC/MySQLDataSource)를 구성 MySQL을 커넥터 자바 5.1.26-bin.jar를 배치 한 domain/lib 디렉토리. Admin UI의 Glassfish JDBC Connection Pool 페이지를 통해 데이터베이스에 성공적으로 ping을 수행 할 수 있습니다.

JackRabbit PersistanceManager 구성에서 뭔가가 누락 되었습니까?

1

내가 예상대로 작동 데이터베이스에 연결하기 위해 내 PersistanceManager 구성의 JDBC URL을 사용하는 대신 내 데이터 소스를 사용하지 않는 경우 UPDATE.

답변

0

MySQL JDBC 연결 풀이 올바르게 구성되지 않은 것으로 나타났습니다.

  • 사용자
  • 비밀번호
  • 데이터베이스 이름
  • 서버 이름
  • URL
  • URL
: 그것은 작동하도록하기 위해

나는 다음과 같은 속성을 설정했다

또한 URL과 URL 필드에서 데이터베이스와 서버 이름을 반복해야했습니다.

JDBC : mysql을 : //127.0.0.1 : 거기에 URL과 URL 속성하지만 위의 URL에 모두를 설정하는 일을 왜 3306/DB_NAME

이 시점에서 나는 확실하지 않다.

관련 문제