2014-09-24 109 views
0

我开发一个应用程序可以部署在WebLogic 12,我想用CDI查询模块中吾道的https://ctpconsulting.github.io/query/1.0.0.Alpha5/index.htmlCDI查询模块在WebLogic 12c中(12.1.3)

但是CDI-查询imple取决于焊料-API和焊接IMPL 3.1.0.Final,当我尝试在应用服务器我得到了造成一个JBoss类下列异常部署应用:

weblogic.ejb.container.compliance.ComplianceException: AroundInvoke method passExceptionsToSolderCatch in class org.jboss.solder.exception.control.ExceptionHandledInterceptor must have the signature: 'Object <METHOD(InvocationContext)> throws Exception' 
    at weblogic.ejb.container.compliance.BusinessMethodInterceptorChecker.validateAroundInvokeOrTimeoutMethod(BusinessMethodInterceptorChecker.java:154) 
    at weblogic.ejb.container.compliance.BusinessMethodInterceptorChecker.checkAroundInvokeOrTimeoutMethods(BusinessMethodInterceptorChecker.java:70) 
    at weblogic.ejb.container.compliance.InterceptorChecker.checkAroundInvokeMethods(InterceptorChecker.java:61) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at weblogic.ejb.container.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:100) 
    at weblogic.ejb.container.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:84) 
    at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:172) 
    at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:346) 
    at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:314) 
    at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:429) 
    at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:355) 
    at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:723) 
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:439) 
    at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:295) 
    at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:285) 
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:109) 
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175) 
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170) 
    at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80) 
    at weblogic.work.ContextWrap.run(ContextWrap.java:40) 
    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) 

任何机会,以在WebLogic运行CDI查询模块12?

在此先感谢

回答

0

显然,错误是不言自明的。焊料模块定义一个拦截并标注了一个方法“@AroundInvoke”其签名不符合规格

(拦截器功能的第2.5节)上的拦截器类中定义

生命周期回调拦截器方法 必须具有以下特征之一:

  • 空隙(InvocationContext)
  • 对象(InvocationContext)抛出异常
0

CTP的查询模块已移入Apache DeltaSpike。请使用适用于WebLogic的Apache DeltaSpike版本。