[Seasar-user:21311] Re: WebLogic FastSwap時にArrayIndexOutOfBoundsException
nakayama c
[E-MAIL ADDRESS DELETED]
2012年 4月 5日 (木) 17:49:34 JST
小林 (koichik) 様
お世話になります。中山と申します。
ご確認ありがとうございました。
ご提案いただいた通り、サポートへの相談を検討いたします。
以上
> Date: Thu, 29 Mar 2012 23:20:01 +0900
> From: [E-MAIL ADDRESS DELETED]
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:21306] Re: WebLogic FastSwap時にArrayIndexOutOfBoundsException
>
> 小林 (koichik) です.
>
> 同じクラス (Class のインスタンス) に対して Class#getInterfaces() と
> Class#getGenericInterfaces() を続けて呼び出しているのに,
> それらが異なる長さの配列を返す (というか,おそらくは
> getGenericInterfaces() が空の配列を返す) というのは
> WebLogic 側のバグではないでしょうか?
>
> パッチが出ていないか探す,あるいはサポートへ連絡するなど
> してみては?
>
>
> On Tue, 27 Mar 2012 17:32:45 +0900, nakayama c <[E-MAIL ADDRESS DELETED]> wrote:
>
> >
> >
> > お世話になります。中山と申します。
> > 大変申し訳ありません。
> >
> > 改行が削除され投稿されておりましたので、再度送信させていただきます。
> > お目汚し、失礼いたしました。
> > 以上、よろしくお願いいたします。
> >
> > --------------------------------------------------------------------
> > 始めまして。中山と申します。
> >
> > 現在、ユーザの環境/アーキテクチャの制約上、Seasar2のHotDeployが使えない為、
> > weblogicのFastSwapを利用しようとしています。
> > weblogicでFastSwapを有効化するとクラスファイルが変更されるようで、GenericUtil#getTypeVariableMap()内で
> > interfaces.lengthとinterfaceTypes.lengthに差異が発生し、ArrayIndexOutOfBoundsExceptionが送出されます。
> >
> > 回避方法があれば、ご教示いただけますでしょうか?
> >
> >
> > WebLogic Serverバージョン: 10.3.5.0
> > Seasar2 2.4.45
> >
> >
> > 以下、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 mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> --
> {
> name: "Koichi Kobayashi",
> mail: "[E-MAIL ADDRESS DELETED]",
> blog: "http://d.hatena.ne.jp/koichik/",
> twitter: "@koichik"
> }
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内