2016-11-11 10 views
0

내 ENV : jpa2.1 패치 웹 로직 12C, 5.2.4 최대 절전 모드, CDI는 웹 로직의 12C에서 작업 가져올 수 없습니다 최대 절전 모드 - 발리/CDI 5.3.1

설정 : SET PRE_CLASSPATH = % MW_HOME % \ oracle_common \ modules \ javax.persistence_2.1.jar; % MW_HOME % \ wlserver \ modules \ com.oracle.weblogic.jpa21support_1.0.0.0_2-1.jar

my-ear/APP-INF/lib에는 다음이 포함되어 있습니다.

hibernate-release-5.2.4.Final/lib/required/*.jar 
hibernate-validator-5.3.1/dist/*.jar and hibernate-validator-5.3.1/dist/lib/required/* 

내의 persistence.xml :

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence 
    http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" 
    version="2.1"> 
<persistence-unit name="myPersistenceUnit" transaction-type="JTA"> 
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
<jta-data-source>myDataSource</jta-data-source> 

persistence.xml을 사용할 수 있으며 entityManager가 아무런 문제없이 세션빈에 주입됩니다. EJB를 항아리/META-INF 중 하나에 내가 beans.xml 환경을 추가 할 때 그러나 (사용 CDI는) 내가 얻을 :

org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435 Normal scoped bean class org.hibernate.validator.internal.engine.ValidatorImpl is not proxyable because it has no no-args constructor - ValidatorBean [id=org.hibernate.validator.internal.cdi.ValidatorBean_default]. 

내 웹 로직-application.xml을 다음이 포함

<prefer-application-packages>  
<package-name>antlr.*</package-name> 
<package-name>org.hibernate.*</package-name> 
<package-name>org.hibernate.validator.*</package-name> 
<package-name>org.hibernate.validator.internal.cdi.*</package-name>   
<package-name>javax.validation.*</package-name> 
<package-name>javax.validation.spi.*</package-name> 
<package-name>javax.validation.bootstrap.*</package-name> 

완료 스택 추적 :

Exception 0 : 
org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435 Normal scoped bean class org.hibernate.validator.internal.engine.ValidatorImpl is not proxyable because it has no no-args constructor - ValidatorBean [id=org.hibernate.validator.internal.cdi.ValidatorBean_default]. 
    at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:214) 
    at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:180) 
    at org.jboss.weld.util.Proxies.getUnproxyableTypesExceptionInt(Proxies.java:195) 
    at org.jboss.weld.util.Proxies.getUnproxyableTypesException(Proxies.java:169) 
    at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:151) 
    at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:388) 
    at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:371) 
    at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379) 
    at com.oracle.injection.provider.weld.WeldInjectionContainer.start(WeldInjectionContainer.java:110) 
    at com.oracle.injection.integration.CDIAppDeploymentExtension.initCdi(CDIAppDeploymentExtension.java:76) 
    at com.oracle.injection.integration.CDIAppDeploymentExtension.activate(CDIAppDeploymentExtension.java:49) 
    at weblogic.application.internal.flow.AppDeploymentExtensionFlow.activate(AppDeploymentExtensionFlow.java:37) 
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729) 
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258) 
    at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61) 
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) 
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) 
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:587) 
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150) 
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116) 
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442) 
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68) 
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 

    at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:398) 
    at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:371) 
    at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379) 
    at com.oracle.injection.provider.weld.WeldInjectionContainer.start(WeldInjectionContainer.java:110) 
    at com.oracle.injection.integration.CDIAppDeploymentExtension.initCdi(CDIAppDeploymentExtension.java:76) 
    at com.oracle.injection.integration.CDIAppDeploymentExtension.activate(CDIAppDeploymentExtension.java:49) 
    at weblogic.application.internal.flow.AppDeploymentExtensionFlow.activate(AppDeploymentExtensionFlow.java:37) 
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729) 
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258) 
    at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61) 
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) 
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) 
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:587) 
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150) 
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116) 
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275) 
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442) 
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13) 
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68) 
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 

무엇이 누락 되었습니까? 이 환경에서 beans.xml/CDI를 작동 시키려면 어떻게합니까?

답변

0

Weblogic patches 17754607 and 23744018 (Weblogic Server 12.1.3.0.161018)이 설치되어 있습니다.

및 제거 : hibernate-validator-5.3.1/dist/*.jar에서 my-ear/APP-INF/lib.

오라클이 제공 한 유효성 검사 병이 정상적으로 작동했으며 이제 CDI를 사용할 수있게되었습니다.