geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <ammul...@alumni.princeton.edu>
Subject Re: Re: ActivationSpec problem (ClassCastException)
Date Thu, 26 Jan 2006 14:58:15 GMT
Can you file a JIRA issue for this?

Thanks,
    Aaron

On 1/23/06, johnxmas <johnxmas@free.fr> wrote:
>
> Sorry for the delay to answer
>
> Keeping
> public int port;
> public int getPort();
>
>
> I tried each setter separately
>
> - setPort(int port) ----> ClassCastException
> - setPort(Integer port)    ----> ClassCastException
> - setPort(String port)    ----> OK
>
> So, it seems that setting an int property, you can only use a String setter with Geronimo
> and that you can only implement ONE setter in the ActivationSpec, which is really
> ennoying
>
> Jean-Noel
>
>
>
> >On Jan 19, 2006, at 1:01 AM, johnxmas wrote:
> >
> >> Hi Aaron,
> >>
> >> a) I tried with just one setter and getter
> >>
> >> private int port;
> >> public int getPort()
> >> public void setPortl(int port)  throws InvalidPropertyException
> >>
> >> and the problem persists.
> >
> >Unfortunately the spec doesn't provide any guidance on what types are
> >allowed for activation spec properties.  Reasonable conclusions might
> >be,
> >- only string
> >- only types allowed for ManagedConnectionFactory properties
> >- only strings and primitive types.....
> >
> >We might support only types allowed for MCF properties, which rules
> >out primitive types.  Could you try Integer and String and report the
> >results?
> >
> >thanks
> >david jencks
> >
> >>
> >> b) If I suppress the property port in all descriptors and force the
> >> value in my ActivationSpec,
> >> the MDB deploys with no problem.
> >>
> >> I m a bit puzzled there. If I can be of any help for investigating
> >> deeper, let me know
> >>
> >> Thanks for your help
> >>
> >> Jean-Noel
> >>
> >>
> >>
> >>
> >>
> >>> I wonder if the problem is due to the multiple setters.  Can you
> >>> temporarily try with an ActivationSpec class with only one int setter
> >>> (assuming the getter and private variable are also ints) and see if
> >>> that solves the problem?  It so, it would suggest that we need to try
> >>> harder to distinguish the proper setter to call in the face of
> >>> overloading like that.  If that doesn't help, maybe we have a problem
> >>> with setting primitives or something?
> >>>
> >>> Thanks,
> >>>    Aaron
> >>>
> >>> On 1/18/06, johnxmas <johnxmas@free.fr> wrote:
> >>>> Hi,
> >>>>
> >>>> id is String
> >>>>
> >>>> As regards port, it's an int. But the ActivationSpec implements
> >>>> three setters
> >>>> (each required due to WebLogic, Jboss, Sun and others
> >>>> implementations of their application server):
> >>>> - with an int parameter
> >>>> -  with an Integer parameter
> >>>> - with a String parameter
> >>>>
> >>>>
> >>>> Jean-Noël
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>> Hmm...  It looks like we're trying to set the wrong data type on
> >>>>> the
> >>>>> properties.  Can you check the data types of the "port" and "id"
> >>>>> properties?
> >>>>>
> >>>>> Thanks,
> >>>>>    Aaron
> >>>>>
> >>>>> On 1/17/06, johnxmas <johnxmas@free.fr> wrote:
> >>>>>> I've written an InboundResourceAdapter. When deploying my
> >>>>>> MessageDrivenBean, with the following
> >>>>>> descriptor
> >>>>>>
> >>>>>> <openejb-jar
> >>>>>>     xmlns="http://www.openejb.org/xml/ns/openejb-jar"
> >>>>>>     xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
> >>>>>>     xmlns:security="http://geronimo.apache.org/xml/ns/security"
> >>>>>>     xmlns:sys="http://geronimo.apache.org/xml/ns/deployment"
> >>>>>>     configId="InboundMdb"  parentId="ScortJcaAdapter15">
> >>>>>>  <enterprise-beans>
> >>>>>>         <message-driven>
> >>>>>>         <ejb-name>InboundMdb</ejb-name>
> >>>>>>         <resource-adapter>
> >>>>>>           <resource-link>ScortJcaAdapter15</resource-link>
> >>>>>>         </resource-adapter>
> >>>>>>         <activation-config>
> >>>>>>                 <activation-config-property>
> >>>>>>                         <activation-config-property-name>port</
> >>>>>> activation-config-property-name>
> >>>>>>                         <activation-config-property-
> >>>>>> value>23072</activation-config-property-value>
> >>>>>>                 </activation-config-property>
> >>>>>>                 <activation-config-property>
> >>>>>>                         <activation-config-property-name>id</
> >>>>>> activation-config-property-name>
> >>>>>>                         <activation-config-property-
> >>>>>> value>CUSTLIST</activation-config-property-value>
> >>>>>>                 </activation-config-property>
> >>>>>>         </activation-config>
> >>>>>>           </message-driven>
> >>>>>>  </enterprise-beans>
> >>>>>> </openejb-jar>
> >>>>>>
> >>>>>>  I encounter the following problem (using geronimo 1.0)
> >>>>>> (BTW, it reminds me of GERONIMO-689)
> >>>>>>
> >>>>>> 17:26:08,054 ERROR [GBeanInstanceState] Error while starting;
> >>>>>> GBean is now in the FAILED state:
> >>>>>> objectName="geronimo.server:EJBModule=InboundMdb,J2EEApplication=n
> >>>>>> ull,J2EEServer=geronimo,j2eeType=JCAActivationSpec,name=InboundMdb
> >>>>>> "
> >>>>>> java.lang.ClassCastException
> >>>>>>         at
> >>>>>> com.scort.inbound.jca.socket.impl.SocketActivationSpec$
> >>>>>> $FastClassByCGLIB$$7d9f9cac.invoke(<generated>)
> >>>>>>         at net.sf.cglib.reflect.FastMethod.invoke
> >>>>>> (FastMethod.java:53)
> >>>>>>         at org.apache.geronimo.gbean.DynamicGBeanDelegate
> >>>>>> $Operation.invoke(DynamicGBeanDelegate.java:181)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.DynamicGBeanDelegate.setAttribute
> >>>>>> (DynamicGBeanDelegate.java:134)
> >>>>>>         at
> >>>>>> org.apache.geronimo.connector.ActivationSpecWrapperGBean.setAttrib
> >>>>>> ute(ActivationSpecWrapperGBean.java:68)
> >>>>>>         at org.apache.geronimo.gbean.runtime.GBeanAttribute
> >>>>>> $DynamicSetterMethodInvoker.invoke(GBeanAttribute.java:430)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanAttribute.setValue
> >>>>>> (GBeanAttribute.java:403)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanAttribute.inject
> >>>>>> (GBeanAttribute.java:334)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance
> >>>>>> (GBeanInstance.java:925)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullSt
> >>>>>> art(GBeanInstanceState.java:325)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start
> >>>>>> (GBeanInstanceState.java:110)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursiv
> >>>>>> e(GBeanInstanceState.java:132)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive
> >>>>>> (GBeanInstance.java:537)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean
> >>>>>> (BasicKernel.java:208)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBea
> >>>>>> ns(Configuration.java:315)
> >>>>>>         at org.apache.geronimo.kernel.config.Configuration$
> >>>>>> $FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> >>>>>>         at net.sf.cglib.reflect.FastMethod.invoke
> >>>>>> (FastMethod.java:53)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
> >>>>>> (FastMethodInvoker.java:38)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
> >>>>>> (GBeanOperation.java:118)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
> >>>>>> (GBeanInstance.java:835)
> >>>>>>         at org.apache.geronimo.kernel.basic.BasicKernel.invoke
> >>>>>> (BasicKernel.java:178)
> >>>>>>         at org.apache.geronimo.kernel.basic.BasicKernel.invoke
> >>>>>> (BasicKernel.java:173)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start
> >>>>>> (ConfigurationManagerImpl.java:142)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$
> >>>>>> $FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> >>>>>>         at net.sf.cglib.reflect.FastMethod.invoke
> >>>>>> (FastMethod.java:53)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
> >>>>>> (FastMethodInvoker.java:38)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
> >>>>>> (GBeanOperation.java:118)
> >>>>>>         at
> >>>>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
> >>>>>> (GBeanInstance.java:800)
> >>>>>>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
> >>>>>> (RawInvoker.java:57)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
> >>>>>> (RawOperationInvoker.java:36)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(
> >>>>>> ProxyMethodInterceptor.java:96)
> >>>>>>         at
> >>>>>> org.apache.geronimo.kernel.config.ConfigurationManager$
> >>>>>> $EnhancerByCGLIB$$49a67291.start(<generated>)
> >>>>>>         at
> >>>>>> org.apache.geronimo.console.configmanager.DeploymentPortlet.proces
> >>>>>> sAction(DeploymentPortlet.java:126)
> >>>>>>         at org.apache.pluto.core.PortletServlet.dispatch
> >>>>>> (PortletServlet.java:229)
> >>>>>>         at org.apache.pluto.core.PortletServlet.doPost
> >>>>>> (PortletServlet.java:163)
> >>>>>>         at javax.servlet.http.HttpServlet.service
> >>>>>> (HttpServlet.java:615)
> >>>>>>         at javax.servlet.http.HttpServlet.service
> >>>>>> (HttpServlet.java:688)
> >>>>>>         at org.apache.pluto.core.PortletServlet.service
> >>>>>> (PortletServlet.java:153)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> >>>>>> (ApplicationFilterChain.java:252)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter
> >>>>>> (ApplicationFilterChain.java:173)
> >>>>>>         at org.apache.catalina.core.ApplicationDispatcher.invoke
> >>>>>> (ApplicationDispatcher.java:672)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationDispatcher.doInclude
> >>>>>> (ApplicationDispatcher.java:574)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationDispatcher.include
> >>>>>> (ApplicationDispatcher.java:499)
> >>>>>>         at
> >>>>>> org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke
> >>>>>> (PortletInvokerImpl.java:120)
> >>>>>>         at
> >>>>>> org.apache.pluto.invoker.impl.PortletInvokerImpl.action
> >>>>>> (PortletInvokerImpl.java:68)
> >>>>>>         at
> >>>>>> org.apache.pluto.PortletContainerImpl.processPortletAction
> >>>>>> (PortletContainerImpl.java:164)
> >>>>>>         at
> >>>>>> org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.proce
> >>>>>> ssPortletAction(PortletContainerWrapperImpl.java:82)
> >>>>>>         at org.apache.pluto.portalImpl.Servlet.doGet
> >>>>>> (Servlet.java:227)
> >>>>>>         at org.apache.pluto.portalImpl.Servlet.doPost
> >>>>>> (Servlet.java:267)
> >>>>>>         at javax.servlet.http.HttpServlet.service
> >>>>>> (HttpServlet.java:615)
> >>>>>>         at javax.servlet.http.HttpServlet.service
> >>>>>> (HttpServlet.java:688)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> >>>>>> (ApplicationFilterChain.java:252)
> >>>>>>         at
> >>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter
> >>>>>> (ApplicationFilterChain.java:173)
> >>>>>>         at org.apache.catalina.core.StandardWrapperValve.invoke
> >>>>>> (StandardWrapperValve.java:213)
> >>>>>>         at org.apache.catalina.core.StandardContextValve.invoke
> >>>>>> (StandardContextValve.java:178)
> >>>>>>         at
> >>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke
> >>>>>> (AuthenticatorBase.java:482)
> >>>>>>         at org.apache.geronimo.tomcat.GeronimoStandardContext
> >>>>>> $SystemMethodValve.invoke(GeronimoStandardContext.java:272)
> >>>>>>         at
> >>>>>> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke
> >>>>>> (DefaultSubjectValve.java:46)
> >>>>>>         at
> >>>>>> org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke
> >>>>>> (PolicyContextValve.java:50)
> >>>>>>         at
> >>>>>> org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke
> >>>>>> (TransactionContextValve.java:53)
> >>>>>>         at
> >>>>>> org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke
> >>>>>> (ComponentContextValve.java:47)
> >>>>>>         at
> >>>>>> org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke
> >>>>>> (InstanceContextValve.java:60)
> >>>>>>         at org.apache.catalina.core.StandardHostValve.invoke
> >>>>>> (StandardHostValve.java:126)
> >>>>>>         at org.apache.catalina.valves.ErrorReportValve.invoke
> >>>>>> (ErrorReportValve.java:105)
> >>>>>>         at org.apache.catalina.core.StandardEngineValve.invoke
> >>>>>> (StandardEngineValve.java:107)
> >>>>>>         at org.apache.catalina.valves.AccessLogValve.invoke
> >>>>>> (AccessLogValve.java:526)
> >>>>>>         at org.apache.catalina.connector.CoyoteAdapter.service
> >>>>>> (CoyoteAdapter.java:148)
> >>>>>>         at org.apache.coyote.http11.Http11Processor.process
> >>>>>> (Http11Processor.java:856)
> >>>>>>         at org.apache.coyote.http11.Http11Protocol
> >>>>>> $Http11ConnectionHandler.processConnection(Http11Protocol.java:
> >>>>>> 744)
> >>>>>>         at
> >>>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
> >>>>>> (PoolTcpEndpoint.java:527)
> >>>>>>         at
> >>>>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
> >>>>>> (LeaderFollowerWorkerThread.java:80)
> >>>>>>         at org.apache.tomcat.util.threads.ThreadPool
> >>>>>> $ControlRunnable.run(ThreadPool.java:684)
> >>>>>>         at java.lang.Thread.run(Thread.java:534)
> >>>>>> 17:26:08,070 DEBUG [GBeanSingleReference] Waiting to start
> >>>>>> geronimo.server:EJBModule=InboundMdb,J2EEApplication=null,J2EEServ
> >>>>>> er=geronimo,j2eeType=MessageDrivenBean,name=InboundMdb because
> >>>>>> no targets are running for reference ActivationSpecWrapper
> >>>>>> matching the patterns
> >>>>>> geronimo.server:EJBModule=InboundMdb,J2EEApplication=null,J2EEServ
> >>>>>> er=geronimo,j2eeType=JCAActivationSpec,name=InboundMdb
> >>>>>>
> >>>>>>
> >>>>>> Thanks for your help
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> .
> >>>>
> >>>
> >>> .
> >
> >
> >.
>

Mime
View raw message