I stand corrected. Thanks.

danch

Olaf Strozyk wrote:

> danch wrote:
> 
>>EJBException is actually a runtime exception that you use to complain to
>>the container when something _really_ wacky happens that you want to
>>call a system error. The EJB spec defines a business exception (AKA
>>Application Exception) as a different category of exception, with
>>different behavior.
>>
>>To throw a business exception, define separate classes for them,
>>extending RemoteException, then replace your 'throws EJBException'
>>declaration with your newly defined exception.
>>
> 
> Hi,
> 
> sorry to interfere, but let me help out with a "not". The above has to 
> be "_not_ extending RemoteException".
> 
> See the spec (Enterprise JavaBeans 2.0, Final Release, 18.1.1):
> "An application exception class must be a subclass (direct or indirect) 
> of java.lang.Exception. An application exception class must not be 
> defined as a subclass of the java.lang.RuntimeException or of the 
> java.rmi.RemoteException."
> 
> -Olaf
> 
> 
>>the biggest difference in the container's behavior (aside from passing
>>the proper exception back to the client) is that when you throw an
>>EJBException, the container marks your transaction Rollback-only, while
>>it _doesn't_ for application exceptions. If you want your transaction
>>rolled back, you'll need to call setRollbackOnly yourself (on the
>>session context).
>>
>>-danch
>>
>>Bill Pfeiffer wrote:
>>
>>
>>>I am having a problem with JBoss 2.4.4 and Tomcat 4.0.1.  When I
>>>encounter a business logic problem (or sql problem, etc) and want to
>>>send it back to the client, I create and throw an EJBException.  The
>>>problem I am encounter is that I actually recieve, on the client
>>>(Tomcat) end, an UndeclaredThrowableException which contains no info on
>>>the original error.
>>>
>>>
>>>
>>>Probably related is the fact that I get these warnings when deploying my
>>>beans:
>>>
>>>
>>>
>>>------------------------------------------------------
>>>
>>>[ERROR,ContainerFactory]
>>>Bean   : EBSecurityUser
>>>Method : public abstract String getPassword() throws RemoteException,
>>>EJBExcepti
>>>on
>>>Section: 9.2.7
>>>Warning: The exceptions thrown by methods in the remote interface must
>>>be valid
>>>types for RMI/IIOP
>>>
>>>
>>>
>>>[ERROR,ContainerFactory]
>>>Bean   : SBWebSessMgr
>>>Method : public abstract SBWebSessMgr create() throws CreateException,
>>>EJBExcept
>>>ion, RemoteException
>>>Section: 6.10.6
>>>Warning: The method return values in the home interface must be of valid
>>>types f
>>>or RMI/IIOP.
>>>
>>>
>>>
>>>[ERROR,ContainerFactory]
>>>Bean   : SBEspeedUtility
>>>Method : public abstract SBCaseLockHome getSbCaseLockHome() throws
>>>RemoteExcepti
>>>on
>>>Section: 6.10.5
>>>Warning: The method return values in the remote interface must be of
>>>valid types
>>> for RMI/IIOP.
>>>
>>>---------------------------------------
>>>
>>>
>>>
>>>
>>>
>>>It appears the I am not returning throwing valid types for RMI/IIOP.
>>>Any ideas what would cause this?  What  constitutes a valid RMI/IIOP
>>>type or what would cause my objects not be considered valid RMI/IIOP types?
>>>
>>>
>>>
>>>Thanks for any assistance,
>>>
>>>
>>>
>>>Bill Pfeiffer
>>>
>>>
>>_______________________________________________
>>JBoss-user mailing list
>>[EMAIL PROTECTED]
>>https://lists.sourceforge.net/lists/listinfo/jboss-user
>>



_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to