dev@glassfish.java.net

Re: java.lang.IllegalStateException: Keystore was tampered with, or password was incorrect

From: Lloyd L Chambers <Lloyd.Chambers_at_Sun.COM>
Date: Mon, 27 Nov 2006 13:04:05 -0800

I think this is the same problem I've seen on Mac OS X. You must use
a password of 'changeit'; the real password is getting trashed
somewhere along the way.

Lloyd

On Nov 27, 2006, at 12:58 PM, kedar wrote:

> Hi Antonio,
>
> Yes, something significant has changed and this problem
> seems to be related to it. Unfortunately, I have not seen
> this problem on various platforms that we have been running
> tests on. May I know more about the platform,
> the *exact* URL for the bundle that you downloaded etc.?
>
> Thanks,
> Kedar
>
>
> Cheng Fang wrote:
>> Can someone please help Antonio with this problem? Thanks.
>>
>> -cheng
>> ----------------------------
>> Hmmm, I've installed the lastest night build and use my good old
>> script to create my domain (this script has worked since b13).
>> When I want to start it I have the following exception. Has
>> something changed in the way to create a new domain ? I use the
>> following command :
>>
>> asadmin create-domain --adminport 8282 --adminuser admin --
>> savemasterpassword=true --instanceport 8080 petstore
>>
>>
>>
>> [#|2006-11-27T20:32:17.640+0100|WARNING|sun-appserver-ee9.1|
>> javax.enterprise.system.stream.err|
>> _ThreadID=10;_ThreadName=main;_RequestID=a3953086-72b0-4a69-
>> a9e3-9c75f2e49d9f;|java.lang.reflect.InvocationTargetException
>> 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:585)
>> at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
>> Caused by: java.lang.ExceptionInInitializerError
>> at com.sun.enterprise.security.SecurityLifecycle.onInitialization
>> (SecurityLifecycle.java:89)
>> at com.sun.enterprise.server.ApplicationServer.onInitialization
>> (ApplicationServer.java:240)
>> at
>> com.sun.enterprise.server.ondemand.OnDemandServer.onInitialization
>> (OnDemandServer.java:93)
>> at com.sun.enterprise.server.PEMain.run(PEMain.java:316)
>> at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
>> ... 5 more
>> Caused by: java.lang.IllegalStateException: Keystore was tampered
>> with, or password was incorrect
>> at com.sun.enterprise.security.SecuritySupportImpl.loadStores
>> (SecuritySupportImpl.java:104)
>> at com.sun.enterprise.security.SecuritySupportImpl.initJKS
>> (SecuritySupportImpl.java:72)
>> at com.sun.enterprise.security.SecuritySupportImpl .<init>
>> (SecuritySupportImpl.java:66)
>> at com.sun.enterprise.security.SecuritySupportImpl.<init>
>> (SecuritySupportImpl.java:61)
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance
>> (NativeConstructorAccessorImpl.java:39)
>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
>> (DelegatingConstructorAccessorImpl.java:27)
>> at java.lang.reflect.Constructor.newInstance (Constructor.java:494)
>> at java.lang.Class.newInstance0(Class.java:350)
>> at java.lang.Class.newInstance(Class.java:303)
>> at
>> com.sun.enterprise.pluggable.PluggableFeatureFactoryBaseImpl.invoke
>> (PluggableFeatureFactoryBaseImpl.java :71)
>> at $Proxy0.getSecuritySupport(Unknown Source)
>> at com.sun.enterprise.security.SecurityUtil.getSecuritySupport
>> (SecurityUtil.java:354)
>> at com.sun.enterprise.security.SSLUtils.<clinit>(SSLUtils.java:86)
>> ... 10 more
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> Subject:
>> Re: Application Exception being wrapped into EJBException
>> From:
>> Antonio Goncalves <antonio.mailing_at_gmail.com>
>> Date:
>> Mon, 27 Nov 2006 20:31:07 +0100
>> To:
>> ejb_at_glassfish.dev.java.net
>>
>> To:
>> ejb_at_glassfish.dev.java.net
>>
>>
>> Hmmm, I've installed the lastest night build and use my good old
>> script to create my domain (this script has worked since b13).
>> When I want to start it I have the following exception. Has
>> something changed in the way to create a new domain ? I use the
>> following command :
>> asadmin create-domain --adminport 8282 --adminuser admin --
>> savemasterpassword=true --instanceport 8080 petstore
>> [#|2006-11-27T20:32:17.640+0100|WARNING|sun-appserver-ee9.1|
>> javax.enterprise.system.stream.err|
>> _ThreadID=10;_ThreadName=main;_RequestID=a3953086-72b0-4a69-
>> a9e3-9c75f2e49d9f;|java.lang.reflect.InvocationTargetException
>> 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:585)
>> at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
>> Caused by: java.lang.ExceptionInInitializerError
>> at com.sun.enterprise.security.SecurityLifecycle.onInitialization
>> (SecurityLifecycle.java:89)
>> at com.sun.enterprise.server.ApplicationServer.onInitialization
>> (ApplicationServer.java:240)
>> at
>> com.sun.enterprise.server.ondemand.OnDemandServer.onInitialization
>> (OnDemandServer.java:93)
>> at com.sun.enterprise.server.PEMain.run(PEMain.java:316)
>> at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
>> ... 5 more
>> Caused by: java.lang.IllegalStateException: Keystore was tampered
>> with, or password was incorrect
>> at com.sun.enterprise.security.SecuritySupportImpl.loadStores
>> (SecuritySupportImpl.java:104)
>> at com.sun.enterprise.security.SecuritySupportImpl.initJKS
>> (SecuritySupportImpl.java:72)
>> at com.sun.enterprise.security.SecuritySupportImpl .<init>
>> (SecuritySupportImpl.java:66)
>> at com.sun.enterprise.security.SecuritySupportImpl.<init>
>> (SecuritySupportImpl.java:61)
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance
>> (NativeConstructorAccessorImpl.java:39)
>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
>> (DelegatingConstructorAccessorImpl.java:27)
>> at java.lang.reflect.Constructor.newInstance (Constructor.java:494)
>> at java.lang.Class.newInstance0(Class.java:350)
>> at java.lang.Class.newInstance(Class.java:303)
>> at
>> com.sun.enterprise.pluggable.PluggableFeatureFactoryBaseImpl.invoke
>> (PluggableFeatureFactoryBaseImpl.java :71)
>> at $Proxy0.getSecuritySupport(Unknown Source)
>> at com.sun.enterprise.security.SecurityUtil.getSecuritySupport
>> (SecurityUtil.java:354)
>> at com.sun.enterprise.security.SSLUtils.<clinit>(SSLUtils.java:86)
>> ... 10 more
>>
>>
>> 2006/11/27, Cheng Fang <Cheng.Fang_at_sun.com
>> <mailto:Cheng.Fang_at_sun.com>>:
>>
>> Hi Antonio,
>>
>> From https://glassfish.dev.java.net/public/downloadsindex.html
>> <https://glassfish.dev.java.net/public/downloadsindex.html>,
>> V2b24
>> was built on Nov 1, 2006.
>>
>> The fix for glassfish issue 1359 was committed on Nov 10, 2006.
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=1359
>> <https://glassfish.dev.java.net/issues/show_bug.cgi?id=1359>
>> (EJBException is not properly initialized)
>>
>> So the fix was not in V2B24. Can you try a recent nightly
>> build? If
>> you still see this problem, feel free to reopen the issue with
>> additional details and tests.
>>
>> -cheng
>>
>> Antonio Goncalves wrote:
>> > Hi,
>> >
>> > I'm using V2b24 but I've also tried with b19 and even b13 just
>> to be sure.
>> >
>> > I've tried ejbException.getCause but it returns null, and here
>> is the
>> > stack trace of ejbException.getCausedByException. As you can
>> see, my
>> > ValidationException has vanished from the stacktrace.
>> >
>> >
>> > java.rmi.ServerException: RemoteException occurred in server
>> thread;
>> > nested exception is:
>> > java.rmi.RemoteException
>> > at
>> >
>> com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException
>> (Util.java:196)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.priv
>> ateInvoke
>>
>> > (StubInvocationHandlerImpl.java:176)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invo
>> ke(StubInvocationHandlerImpl.java:123)
>> > at
>> com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke
>> > (BCELStubBase.java:197)
>> > at
>> >
>>
>> com.yaps.petstore.stateless.catalog.__CatalogRemote_Remote_DynamicStu
>> b.createCategory(__CatalogRemote_Remote_DynamicStub.java)
>> > at
>> >
>>
>> com.yaps.petstore.stateless.catalog._CatalogRemote_Wrapper.createCate
>> gory
>>
>> >
>> (com.yaps.petstore.stateless.catalog._CatalogRemote_Wrapper.java)
>> > at
>> >
>>
>> com.yaps.petstore.client.delegate.CatalogDelegate.createCategory
>> (CatalogDelegate.java:24)
>> > at
>> >
>>
>> com.yaps.petstore.client.ui.catalog.category.CategoryCrudFrame.create
>> ActionPerformed
>>
>> > (CategoryCrudFrame.java:79)
>> > at
>> >
>>
>> com.yaps.petstore.client.ui.util.YapsActionPane.fireActionPerformed
>> (YapsActionPane.java:192)
>> > at
>> > com.yaps.petstore.client.ui.util.YapsActionPane.access$000
>> (YapsActionPane.java:23)
>> > at
>> >
>> com.yaps.petstore.client.ui.util.YapsActionPane
>> $2.actionPerformed(YapsActionPane.java:106)
>> > at
>> >
>> javax.swing.AbstractButton.fireActionPerformed
>> (AbstractButton.java
>> :1849)
>> > at javax.swing.AbstractButton$Handler.actionPerformed
>> > (AbstractButton.java:2169)
>> > at
>> >
>> javax.swing.DefaultButtonModel.fireActionPerformed
>> (DefaultButtonModel.java:420)
>> > at javax.swing.DefaultButtonModel.setPressed
>> (DefaultButtonModel.java:258)
>> > at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
>> > (BasicButtonListener.java:236)
>> > at java.awt.Component.processMouseEvent(Component.java:5488)
>> > at javax.swing.JComponent.processMouseEvent
>> (JComponent.java:3126)
>> > at java.awt.Component.processEvent(Component.java:5253)
>> > at java.awt.Container.processEvent(Container.java:1966)
>> > at java.awt.Component.dispatchEventImpl(Component.java:3955)
>> > at java.awt.Container.dispatchEventImpl(Container.java:2024)
>> > at java.awt.Component.dispatchEvent (Component.java:3803)
>> > at
>> java.awt.LightweightDispatcher.retargetMouseEvent
>> (Container.java:4212)
>> > at
>> java.awt.LightweightDispatcher.processMouseEvent
>> (Container.java:3892)
>> > at java.awt.LightweightDispatcher.dispatchEvent
>> (Container.java:3822)
>> > at java.awt.Container.dispatchEventImpl(Container.java :2010)
>> > at java.awt.Window.dispatchEventImpl(Window.java:1778)
>> > at java.awt.Component.dispatchEvent(Component.java:3803)
>> > at java.awt.EventQueue.dispatchEvent (EventQueue.java:463)
>> > at
>> >
>> java.awt.EventDispatchThread.pumpOneEventForHierarchy
>> (EventDispatchThread.java:242)
>> > at
>> >
>> java.awt.EventDispatchThread.pumpEventsForHierarchy
>> (EventDispatchThread.java:163)
>> > at java.awt.EventDispatchThread.pumpEvents
>> (EventDispatchThread.java:157)
>> > at
>> java.awt.EventDispatchThread.pumpEvents
>> (EventDispatchThread.java:149)
>> > at java.awt.EventDispatchThread.run
>> (EventDispatchThread.java:110)
>> > Caused by: java.rmi.RemoteException
>> > at
>> >
>> com.sun.enterprise.iiop.POAProtocolMgr.mapException
>> (POAProtocolMgr.java:234)
>> > at
>> >
>> com.sun.ejb.containers.BaseContainer.postInvoke
>> (BaseContainer.java:1303)
>> > at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke (
>> > EJBObjectInvocationHandler.java:197)
>> > at
>> >
>>
>> com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke
>> (EJBObjectInvocationHandlerDelegate.java:110)
>> > at $Proxy77.createCategory(Unknown Source)
>> > 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:585)
>> > at
>> >
>> com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke
>> (ReflectiveTie.java:125)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
>> tchToServant(CorbaServerRequestDispatcherImpl.java
>> > :650)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
>> tch
>> (CorbaServerRequestDispatcherImpl.java:193)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
>> Request(CorbaMessageMediatorImpl.java
>> > :1711)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
>> (CorbaMessageMediatorImpl.java:1571)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput
>> (CorbaMessageMediatorImpl.java
>> > :953)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.call
>> back
>> (RequestMessage_1_2.java:182)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
>> (CorbaMessageMediatorImpl.java
>> > :723)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatc
>> h
>> (SocketOrChannelConnectionImpl.java:480)
>> > at
>> >
>>
>> com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(
>> SocketOrChannelConnectionImpl.java
>> > :1356)
>> > at
>> >
>> com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl
>> $WorkerThread.run
>> (ThreadPoolImpl.java:467)
>> >
>> >
>> > 2006/11/27, Cheng Fang <Cheng.Fang_at_sun.com
>> <mailto:Cheng.Fang_at_sun.com> <mailto:Cheng.Fang_at_sun.com
>> <mailto:Cheng.Fang_at_sun.com>>>:
>> >
>> > Hi Antonio,
>> >
>> > In your Swing client, can you try
>> >
>> > ejbException.|* getCausedByException
>> > <
>> http://java.sun.com/javaee/5/docs/api/javax/ejb/
>> EJBException.html#getCausedByException%28%29>*(),
>> > and ejbException.getCause()? At least one of them
>> should return
>> > the root cause.
>> >
>> > -cheng
>> > |
>> >
>> > Antonio Goncalves wrote:
>> >> Hi,
>> >>
>> >> Sorry for bringing back an old thread, but I have some
>> issues
>> >> with that.
>> >>
>> >> The problem is that during a call back method of my entity
>> bean I
>> >> throw an application exception. This exception is wrapped
>> into an
>> >> EJBException by the container. What I've done is that I
>> take this
>> >> EJBException and get the root cause. If it's an
>> instance of my
>> >> ValidationException, I display its message. It works
>> fine with
>> >> JSF and I can display an "invalide name" (for example) in
>> my web
>> >> page.
>> >>
>> >> But when I try to do the same with a swing application, it
>> >> doesn't work. The problem is that the Swing app gets the
>> >> EJBException but with no root cause. When I call the
>> methode
>> >> e.getCause() it returns null. It looks like my
>> >> ValidationException is not wrapped into the
>> EJBException when
>> >> leaving the container.
>> >>
>> >> Does anybody have an idea ?
>> >>
>> >> Thanks,
>> >>
>> >> Antonio
>> >>
>> >>
>> >> 2006/10/2, Antonio Goncalves <antonio.mailing_at_gmail.com
>> <mailto:antonio.mailing_at_gmail.com>
>> >> <mailto:antonio.mailing_at_gmail.com
>> <mailto:antonio.mailing_at_gmail.com>>>:
>> >>
>> >> > Also note that even if the ValidationException
>> were to be
>> >> propagated as
>> >> > is, the persistence manager still would not know
>> it is an
>> >> EJB "Application Exception"
>> >> > so any required behavior such as marking the
>> transaction for
>> >> rollback would still be
>> >> > performed by the persistence manager regardless
>> of the
>> >> attributes of the
>> >> > @ApplicationException definition.
>> >>
>> >> That makes sense. I going to try a similar use case
>> outside
>> >> the container to see what king of exception is
>> thrown. I've
>> >> changed my ValidationException to extend Exception
>> instead of
>> >> RuntimeException, but it doesn't work either. The
>> exception
>> >> is still wrapped into an EJBException and the root
>> cause is
>> >> event worse *Caused by: java.lang.ClassCastException :
>> >> com.yaps.petstore.exception.ValidationException *.
>> >>
>> >>
>> >> javax.ejb.EJBException
>> >> at
>> >>
>> com.sun.ejb.containers.BaseContainer.processSystemException
>> (BaseContainer.java:3753)
>> >> at
>> >>
>> com.sun.ejb.containers.BaseContainer.completeNewTx
>> (BaseContainer.java:3653)
>> >> at com.sun.ejb.containers.BaseContainer.postInvokeTx
>> >> (BaseContainer.java:3455)
>> >> at
>> >> com.sun.ejb.containers.BaseContainer.postInvoke
>> (BaseContainer.java:1257)
>> >> at
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke
>> >> (EJBLocalObjectInvocationHandler.java:192)
>> >> at
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke
>> (EJBLocalObjectInvocationHandlerDelegate.java
>> :118)
>> >> at $Proxy69.createCustomer(Unknown Source)
>> >>
>> >> at
>> >>
>> com.yaps.petstore.web.jsf.AccountController.doCreateCustomer
>> >> (Unknown Source)
>> >> 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:585)
>> >> at com.sun.el.parser.AstValue.invoke
>> (AstValue.java:157)
>> >> at
>> >> com.sun.el.MethodExpressionImpl.invoke
>> (MethodExpressionImpl.java
>> >> :283)
>> >> at
>> >>
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke
>> (MethodBindingMethodExpressionAdapter.java:71)
>> >> at
>> >>
>> com.sun.faces.application.ActionListenerImpl.processAction
>> >> (ActionListenerImpl.java:96)
>> >> at
>> javax.faces.component.UICommand.broadcast(UICommand.java:383)
>> >> at
>> >> javax.faces.component.UIViewRoot.broadcastEvents
>> (UIViewRoot.java
>> >> :471)
>> >> at
>> javax.faces.component.UIViewRoot.processApplication
>> >> (UIViewRoot.java:783)
>> >> at
>> >>
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute
>> (InvokeApplicationPhase.java:97)
>>
>> >> at com.sun.faces.lifecycle.LifecycleImpl.phase
>> >> (LifecycleImpl.java:244)
>> >> at com.sun.faces.lifecycle.LifecycleImpl.execute
>> >> (LifecycleImpl.java :113)
>> >> at
>> >> javax.faces.webapp.FacesServlet.service
>> (FacesServlet.java:244)
>> >> at
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.servletService
>> >> (ApplicationFilterChain.java:397)
>> >> at
>> org.apache.catalina.core.StandardWrapperValve.invoke
>> >> (StandardWrapperValve.java:278)
>> >> at
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:586)
>> >> at org.apache.catalina.core.StandardPipeline.invoke
>> >> (StandardPipeline.java:556)
>> >> at
>> >>
>> org.apache.catalina.core.StandardContextValve.invokeInternal
>> >> (StandardContextValve.java:246)
>> >> at
>> >> org.apache.catalina.core.StandardContextValve.invoke
>> (StandardContextValve.java:185)
>> >> at
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:586)
>> >> at com.sun.enterprise.web.WebPipeline.invoke
>> >> (WebPipeline.java:73)
>> >> at
>> >> org.apache.catalina.core.StandardHostValve.invoke
>> (StandardHostValve.java
>> >> :182)
>> >> at
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:586)
>> >> at
>> com.sun.enterprise.web.VirtualServerPipeline.invoke
>> >> (VirtualServerPipeline.java:120)
>> >> at org.apache.catalina.core.ContainerBase.invoke
>> >> (ContainerBase.java:939)
>> >> at
>> >>
>> org.apache.catalina.core.StandardEngineValve.invoke
>> (StandardEngineValve.java:137)
>> >> at org.apache.catalina.core.StandardPipeline.doInvoke
>> >> (StandardPipeline.java:586)
>> >> at org.apache.catalina.core.StandardPipeline.invoke
>> >> (StandardPipeline.java:556)
>> >> at
>> >> org.apache.catalina.core.ContainerBase.invoke
>> (ContainerBase.java:939)
>> >> at org.apache.coyote.tomcat5.CoyoteAdapter.service
>> >> (CoyoteAdapter.java :231)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeA
>> dapter
>> >> (DefaultProcessorTask.java:619)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
>> NonBlocked
>> >> (DefaultProcessorTask.java:550)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
>> >> (DefaultProcessorTask.java:780)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProce
>> ssorTask
>> >> (DefaultReadTask.java:326)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> (DefaultReadTask.java
>> >> :251)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> (DefaultReadTask.java:205)
>> >>
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.TaskBase.run
>> (TaskBase.java:252)
>> >> at
>> >>
>> com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run
>> >> (WorkerThreadImpl.java:103)
>> >> *Caused by: java.lang.ClassCastException :
>> >> com.yaps.petstore.exception.ValidationException*
>> >> at
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityListener.invokeMethod
>> >> (MetadataEntityListener.java:313)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityClassListener.invokeMethod
>>
>> >> (MetadataEntityClassListener.java:69)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityListener
>> >> .prePersist( MetadataEntityListener.java:439)
>> >> at
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.notifyLi
>> stener
>> >> (DescriptorEventManager.java:658)
>> >> at
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.notifyEJ
>> B30Listeners
>> >> (DescriptorEventManager.java:601)
>> >> at
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.executeE
>> vent
>>
>> >> (DescriptorEventManager.java:199)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNo
>> tRegisteredNewObjectForPersist
>> >> (UnitOfWorkImpl.java :3226)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitO
>> fWork.registerNotRegisteredNewObjectForPersist
>> >> (RepeatableWriteUnitOfWork.java:298)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNe
>> wObjectForPersist
>> >> (UnitOfWorkImpl.java:3186)
>> >> at
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.pe
>> rsist
>> >> (EntityManagerImpl.java:170)
>> >> at
>> >> com.sun.enterprise.util.EntityManagerWrapper.persist(
>> EntityManagerWrapper.java
>> >> :433)
>> >> at
>> >>
>> com.yaps.petstore.service.customer.CustomerBean.createCustomer
>> (Unknown
>> >> Source)
>> >> 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:585)
>> >> at
>> >>
>> com.sun.enterprise.security.application.EJBSecurityManager.runMethod
>> >> (EJBSecurityManager.java:1050)
>> >> at
>> >> com.sun.enterprise.security.SecurityUtil.invoke
>> (SecurityUtil.java:165)
>> >> at
>> >>
>> com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod
>> >> (BaseContainer.java:2788)
>> >> at com.sun.ejb.containers.BaseContainer.intercept
>> >> (BaseContainer.java:3870)
>> >> at
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke
>> (EJBLocalObjectInvocationHandler.java:184)
>> >> ... 43 more
>> >>
>> >>
>> >>
>> >> 2006/10/2, Kenneth Saks <Kenneth.Saks_at_sun.com
>> <mailto:Kenneth.Saks_at_sun.com>
>> >> <mailto:Kenneth.Saks_at_sun.com
>> <mailto:Kenneth.Saks_at_sun.com>>>:
>> >>
>> >> Cheng Fang wrote:
>> >>
>> >> > Our tests for the similar scenario passed.
>> The only
>> >> difference
>> >> > between our tests and your is, your
>> ValidationException
>> >> is from Entity
>> >> > lifecycle callback methods, and our unchecked
>> >> ApplicationException is
>> >> > from a regular slsb business methods.
>> >> > JPA spec says entity lifecycle callback methods
>> may throw
>> >> > runtime/uncheckec exception, which causes the
>> current
>> >> transaction to
>> >> > be rolled back. So your unchecked
>> ApplicationException
>> >> behaves more
>> >> > like a system exception. EJB interceptor
>> methods
>> are
>> >> more restrictive
>> >> > in that it does not allow any application
>> exception.
>> >>
>> >> That's true of callbacks defined in an interceptor
>> class,
>> >> but not true
>> >> of AroundInvoke methods.
>> >> The signature of an AroundInvoke method is defined
>> to throw
>> >> java.lang.Exception so that it may
>> >> propagate any application-defined exceptions that
>> appear
>> >> in the
>> >> corresponding business
>> >> method's signature.
>> >>
>> >> >
>> >> >
>> >> > Throwing such runtime exception from @PrePersist
>> seems a
>> >> pretty common
>> >> > use case. The JPA spec has such an example.
>> Can
>> >> someone clarify?
>> >>
>> >> I'm not aware of any requirements in the
>> persistence spec
>> >> that guarantee
>> >> that an exception thrown
>> >> by the entity code will propagate *as is* back
>> to the
>> >> caller of an
>> >> EntityManager API. The EntityManager
>> >> API is typed to throw certain specific runtime
>> >> exceptions. The
>> >> @ApplicationException behavior
>> >> is EJB-container specific, so the persistence
>> manager
>> >> doesn't know
>> >> anything about it. The persistence
>> >> manager is probably just wrapping the
>> ValidationException
>> >> into one of
>> >> the exceptions defined in
>> >> the persist() API method signature. The ejb
>> container
>> >> then sees a
>> >> runtime exception, not an
>> >> Application Exception.
>> >>
>> >> Also note that even if the ValidationException
>> were
>> to be
>> >> propagated as
>> >> is, the persistence
>> >> manager still would not know it is an EJB
>> "Application
>> >> Exception" so any
>> >> required behavior
>> >> such as marking the transaction for rollback would
>> still
>> >> be performed by
>> >> the persistence
>> >> manager regardless of the attributes of the
>> >> @ApplicationException
>> >> definition.
>> >>
>> >> --ken
>> >>
>> >> >
>> >> >
>> >> > Cheng
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > Antonio Goncalves wrote:
>> >> >
>> >> >> Hi,
>> >> >>
>> >> >> I've got a JSF back bean trying to catch my
>> application
>> >> exception but
>> >> >> ends up with an EJBException. Here is my
>> model :
>> >> >>
>> >> >> * A Customer entity bean throws an Application
>> >> Exception in a call
>> >> >> back method to validate its data
>> >> >>
>> >> >> @Entity
>> >> >> public class Customer implements Serializable {
>> >> >>
>> >> >> @PrePersist
>> >> >> @PreUpdate
>> >> >> private void validateData() {
>> >> >> if (firstname == null ||
>> "".equals(firstname))
>> >> >> throw new
>> *ValidationException*("Invalid
>> >> first name");
>> >> >> if (lastname == null || "".equals
>> (lastname))
>> >> >> throw new
>> ValidationException("Invalid last
>> >> name");
>> >> >> }
>> >> >> }
>> >> >>
>> >> >> * The Validation Exception is a
>> RuntimeException
>> but
>> >> uses the
>> >> >> ApplicationException annotation
>> >> >>
>> >> >> @*ApplicationException*(rollback = true)
>> >> >> public class *ValidationException* extends
>> >> *RuntimeException* {
>> >> >>
>> >> >> }
>> >> >>
>> >> >> * Between the Entity and JSF there is a
>> Stateless bean
>> >> that
>> >> >> manipulates this entity but doesn't wrap or
>> throw an
>> >> exception
>> >> >>
>> >> >> @Stateless
>> >> >> public class CustomerBean implements
>> CustomerRemote,
>> >> CustomerLocal {
>> >> >>
>> >> >> @PersistenceContext(name = "petstorePU")
>> >> >> private EntityManager em;
>> >> >>
>> >> >> public Customer createCustomer(final
>> Customer
>> >> customer) {
>> >> >> em.persist(*customer*);
>> >> >> }
>> >> >>
>> >> >> }
>> >> >>
>> >> >> * My JSF Back Bean calls the Stateless to
>> create a
>> >> customer. He tries
>> >> >> to catch the ValidationException and display
>> the
>> error
>> >> message on my
>> >> >> page
>> >> >>
>> >> >> public String doCreateCustomer() {
>> >> >>
>> >> >> FacesContext context =
>> >> FacesContext.getCurrentInstance ();
>> >> >> String navigateTo = null;
>> >> >>
>> >> >> try {
>> >> >> customer =
>> customerBean.createCustomer
>> >> (customer, address);
>> >> >> } *catch (ValidationException e)* {
>> >> >> context.addMessage(null, new
>> >> >> FacesMessage( FacesMessage.SEVERITY_WARN ,
>> >> e.getMessage(), null));
>> >> >> }
>> >> >>
>> >> >> If I change the catch (ValidationException e)
>> into catch
>> >> >> (EJBException e) it woks because here is my
>> stack trace
>> >> on the server
>> >> >>
>> >> >> *javax.ejb.EJBException*
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.BaseContainer.processSystemException
>> (BaseContainer.java:3753)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.BaseContainer.completeNewTx
>> (BaseContainer.java:3653)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.BaseContainer.postInvokeTx
>> (BaseContainer.java:3455)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:
>> 1257)
>> >> >> at
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke
>> >> >> ( EJBLocalObjectInvocationHandler.java:192)
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke
>> (EJBLocalObjectInvocationHandlerDelegate.java
>>
>> >> :118)
>> >> >>
>> >> >> at $Proxy163.createCustomer(Unknown Source)
>> >> >> at
>> >> >>
>> >>
>> com.yaps.petstore.web.jsf.AccountController.doCreateCustomer(Unknown
>> >> >> Source)
>> >> >> 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:585)
>> >> >> at
>> com.sun.el.parser.AstValue.invoke(AstValue.java:157)
>> >> >> at
>> >> >>
>> >> com.sun.el.MethodExpressionImpl.invoke
>> (MethodExpressionImpl.java
>> >> :283)
>> >> >> at
>> >> >>
>> >>
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke
>> (MethodBindingMethodExpressionAdapter.java:71)
>> >> >>
>> >> >> at
>> >>
>> com.sun.faces.application.ActionListenerImpl.processAction
>> >> >> ( ActionListenerImpl.java:96)
>> >> >> at
>> >> javax.faces.component.UICommand.broadcast
>> (UICommand.java:383)
>> >> >> at
>> >> >>
>> >>
>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:471)
>> >> >> at
>> javax.faces.component.UIViewRoot.processApplication
>> >> >> (UIViewRoot.java :783)
>> >> >> at
>> >> >>
>> >>
>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute
>> (InvokeApplicationPhase.java:97)
>> >> >>
>> >> >> at
>> >> com.sun.faces.lifecycle.LifecycleImpl.phase
>> (LifecycleImpl.java:244)
>> >> >> at
>> com.sun.faces.lifecycle.LifecycleImpl.execute
>> >> >> ( LifecycleImpl.java:113)
>> >> >> at javax.faces.webapp.FacesServlet.service
>> >> (FacesServlet.java:244)
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.ApplicationFilterChain.servletService
>> (ApplicationFilterChain.java:397)
>> >> >>
>> >> >> at
>> org.apache.catalina.core.StandardWrapperValve.invoke
>> >> >> (StandardWrapperValve.java:278)
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java
>> :586)
>> >> >>
>> >> >> at
>> >> >>
>> org.apache.catalina.core.StandardPipeline.invoke
>> >> (StandardPipeline.java:556)
>> >> >>
>> >> >> at
>> >>
>> org.apache.catalina.core.StandardContextValve.invokeInternal
>> >> >> (StandardContextValve.java:246)
>> >> >> at
>> >> >>
>> org.apache.catalina.core.StandardContextValve.invoke
>> >> (StandardContextValve.java:185)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:586)
>> >> >>
>> >> >> at com.sun.enterprise.web.WebPipeline.invoke (
>> >> WebPipeline.java:73)
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardHostValve.invoke
>> (StandardHostValve.java:182)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java
>> >> :586)
>> >> >>
>> >> >> at
>> com.sun.enterprise.web.VirtualServerPipeline.invoke
>> >> >> (VirtualServerPipeline.java:120)
>> >> >> at
>> >> >>
>> >> org.apache.catalina.core.ContainerBase.invoke
>> (ContainerBase.java
>> >> :939)
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardEngineValve.invoke
>> (StandardEngineValve.java:137)
>> >> >>
>> >> >> at
>> org.apache.catalina.core.StandardPipeline.doInvoke
>> >> >> (StandardPipeline.java :586)
>> >> >> at
>> >> >>
>> >>
>> org.apache.catalina.core.StandardPipeline.invoke
>> (StandardPipeline.java:556)
>> >> >>
>> >> >> at
>> >> >>
>> >> org.apache.catalina.core.ContainerBase.invoke
>> (ContainerBase.java:939)
>> >> >> at
>> org.apache.coyote.tomcat5.CoyoteAdapter.service
>> >> >> (CoyoteAdapter.java :231)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeA
>> dapter(DefaultProcessorTask.java
>> >> :619)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
>> NonBlocked
>> >> >> ( DefaultProcessorTask.java:550)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
>> >> (DefaultProcessorTask.java :780)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProce
>> ssorTask
>> >> >> ( DefaultReadTask.java:326)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> >> (DefaultReadTask.java :251)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> (DefaultReadTask.java:205)
>>
>> >> >>
>> >> >> at
>> >> >>
>> com.sun.enterprise.web.connector.grizzly.TaskBase.run
>> >> (TaskBase.java:252)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run
>> (WorkerThreadImpl.java:103)
>> >> >>
>> >> >> Caused by: com.yaps.petstore.exception.*
>> >> ValidationException*:
>> >> >> Invalid first name
>> >> >> at
>> >>
>> com.yaps.petstore.domain.customer.Customer.validateData (Unknown
>> >> >> Source)
>> >> >> 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:585)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.security.PrivilegedAccessHelper.in
>> vokeMethod
>>
>> >> >> (PrivilegedAccessHelper.java:307)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityListener.invokeMethod
>> (MetadataEntityListener.java:302)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityClassListener.invokeMethod
>>
>> >>
>> >> >> (MetadataEntityClassListener.java:69)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.metadata.listeners.Metada
>> taEntityListener.prePersist
>> (MetadataEntityListener.java:439)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.notifyLi
>> stener
>>
>> >> >> (DescriptorEventManager.java:658)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.notifyEJ
>> B30Listeners
>>
>> >> (DescriptorEventManager.java:601)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.descriptors.DescriptorEventManager.executeE
>> vent
>>
>> >> >> (DescriptorEventManager.java:199)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNo
>> tRegisteredNewObjectForPersist
>> (UnitOfWorkImpl.java:3226)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitO
>> fWork.registerNotRegisteredNewObjectForPersist
>>
>> >>
>> >> >> (RepeatableWriteUnitOfWork.java:298)
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNe
>> wObjectForPersist
>> (UnitOfWorkImpl.java:3186)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.pe
>> rsist
>>
>> >> >> (EntityManagerImpl.java:170)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.util.EntityManagerWrapper.persist
>> (EntityManagerWrapper.java
>>
>> >> :433)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.yaps.petstore.service.customer.CustomerBean.createCustomer
>> (Unknown
>>
>> >> >> Source)
>> >> >> 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:585)
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.security.application.EJBSecurityManager.runMethod(
>> EJBSecurityManager.java:1050)
>> >> >>
>> >> >> at
>> >> >>
>> >>
>> com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:
>> 165)
>> >> >> at
>> >>
>> com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod
>> >> >> (BaseContainer.java:2788)
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:
>> 3870)
>>
>> >> >> at
>> >> >>
>> >>
>> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke
>> (EJBLocalObjectInvocationHandler.java:184)
>> >> >>
>> >> >> ... 43 more
>> >> >>
>> >> >> I am confused because on the EJB specification
>> this is
>> >> what's written :
>> >> >>
>> >> >> 14.1.1 Application Exceptions
>> >> >>
>> >> >> An application exception may be a subclass
>> (direct or
>> >> indirect) of
>> >> >> java.lang.Exception (i.e., a "checked
>> exception"), or
>> >> an application
>> >> >> exception class may be defined as a subclass
>> of the
>> >> >> java.lang.RuntimeException (an "unchecked
>> exception")
>> >> >>
>> >> >> 14.1.2 Goals for Exception Hand
>> >> >>
>> >> >> An application exception thrown by an
>> enterprise
>> bean
>> >> instance should
>> >> >> be reported to the client precisely (i.e., the
>> client
>> >> gets the same
>> >> >> exception)
>> >> >>
>> >> >> 14.2.1 Application Exceptions
>> >> >>
>> >> >> An application exception that is an unchecked
>> exception
>> >> is defined as
>> >> >> an application exception by annotating it
>> with the
>> >> >> applicationException metadata annotation.
>> >> >>
>> >> >> Thanks for your help,
>> >> >>
>> >> >>
>> >> >>
>> >> >> Antonio
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>>
>> ---------------------------------------------------------------------
>> >>
>> >> > To unsubscribe, e-mail:
>> >> ejb-unsubscribe_at_glassfish.dev.java.net
>> <mailto:ejb-unsubscribe_at_glassfish.dev.java.net>
>> >> <mailto: ejb-unsubscribe_at_glassfish.dev.java.net
>> <mailto:ejb-unsubscribe_at_glassfish.dev.java.net>>
>> >> > For additional commands, e-mail:
>> >> ejb-help_at_glassfish.dev.java.net
>> <mailto:ejb-help_at_glassfish.dev.java.net>
>> >> <mailto:ejb-help_at_glassfish.dev.java.net
>> <mailto:ejb-help_at_glassfish.dev.java.net>>
>> >> >
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ejb-unsubscribe_at_glassfish.dev.java.net
>> <mailto:ejb-unsubscribe_at_glassfish.dev.java.net>
>> For additional commands, e-mail: ejb-help_at_glassfish.dev.java.net
>> <mailto:ejb-help_at_glassfish.dev.java.net>
>>
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>