geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "johnxmas" <johnx...@free.fr>
Subject Re: Re: ActivationSpec problem (ClassCastException)
Date Mon, 23 Jan 2006 09:31:48 GMT

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