[Seasar-user:21303] WebLogic FastSwap時にArrayIndexOutOfBoundsException

nakayama c [E-MAIL ADDRESS DELETED]
2012年 3月 27日 (火) 15:54:09 JST


始めまして。中山と申します。
現在、ユーザの環境/アーキテクチャの制約上、Seasar2のHotDeployが使えない為、weblogicのFastSwapを利用しようとしています。
weblogicでFastSwapを有効化するとクラスファイルが変更されるようで、GenericUtil#getTypeVariableMap()内でinterfaces.lengthとinterfaceTypes.lengthに差異が発生し、ArrayIndexOutOfBoundsExceptionが送出されます。
回避方法があれば、ご教示いただけますでしょうか?

WebLogic Serverバージョン: 10.3.5.0Seasar2 2.4.44

以下、stacktraceになります。
####<2012/03/16 20時37分17秒 JST> <Error> <Deployer> <SMTON100302> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <5d46168ed78bd732:-1f24aaff:1361b4b84cf:-8000-0000000000000002> <1331897837208> <BEA-149231> <アプリケーション'Sample_WLS11gFW_EAR3'に対してアクティブ化状態をtrueに設定できませんでした。java.lang.ArrayIndexOutOfBoundsException: 0	at org.seasar.framework.util.tiger.GenericUtil.getTypeVariableMap(GenericUtil.java:276)	at org.seasar.framework.beans.factory.ParameterizedClassDescFactoryProvider.getTypeVariables(ParameterizedClassDescFactoryProvider.java:40)	at org.seasar.framework.beans.factory.ParameterizedClassDescFactory.getTypeVariables(ParameterizedClassDescFactory.java:60)	at org.seasar.framework.beans.impl.BeanDescImpl.<init>(BeanDescImpl.java:111)	at org.seasar.framework.beans.factory.BeanDescFactory.getBeanDesc(BeanDescFactory.java:60)	at org.seasar.framework.container.factory.ConstantAnnotationHandler.createComponentDef(ConstantAnnotationHandler.java:151)	at org.seasar.framework.container.factory.TigerAnnotationHandler.createComponentDef(TigerAnnotationHandler.java:408)	at org.seasar.framework.container.creator.ComponentCreatorImpl.createComponentDef(ComponentCreatorImpl.java:262)	at org.seasar.framework.container.cooldeploy.CoolComponentAutoRegister.createComponentDef(CoolComponentAutoRegister.java:184)	at org.seasar.framework.container.cooldeploy.CoolComponentAutoRegister.processClass(CoolComponentAutoRegister.java:163)	at org.seasar.framework.util.ClassTraversal.traverseFileSystem(ClassTraversal.java:213)	at org.seasar.framework.util.ClassTraversal.traverseFileSystem(ClassTraversal.java:207)	at org.seasar.framework.util.ClassTraversal.traverseFileSystem(ClassTraversal.java:207)	at org.seasar.framework.util.ClassTraversal.forEach(ClassTraversal.java:79)	at org.seasar.framework.util.ResourcesUtil$FileSystemResources.forEach(ResourcesUtil.java:374)	at org.seasar.framework.container.cooldeploy.CoolComponentAutoRegister.registerAll(CoolComponentAutoRegister.java:129)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)	at java.lang.reflect.Method.invoke(Method.java:597)	at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:96)	at org.seasar.framework.container.assembler.AbstractMethodAssembler.invoke(AbstractMethodAssembler.java:94)	at org.seasar.framework.container.assembler.DefaultInitMethodAssembler.assemble(DefaultInitMethodAssembler.java:49)	at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:70)	at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:48)	at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:77)	at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:237)	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:563)	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:560)	at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:168)	at SampleApplicationLifecycleListener$beaVersion0_1.postStart(SampleApplicationLifecycleListener.java:18)	at SampleApplicationLifecycleListener.postStart(SampleApplicationLifecycleListener.java)	at weblogic.application.internal.flow.BaseLifecycleFlow$PostStartAction.run(BaseLifecycleFlow.java:297)	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)	at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:199)	at weblogic.application.internal.flow.BaseLifecycleFlow.postStart(BaseLifecycleFlow.java:71)	at weblogic.application.internal.flow.TailLifecycleFlow.activate(TailLifecycleFlow.java:34)	at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:637)	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:54)	at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)	at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)	at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)	at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)	at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)	at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)	at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52)	at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)	at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:31)	at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)	at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:170)	at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:124)	at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181)	at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97)	at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)	at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
 		 	   		  


Seasar-user メーリングリストの案内