The RuntimeException constraint arises from an overzealous intrepretation of the 
Java-CORBA mapping spec by the jboss Verifier. The jboss Verifier considers a 
RuntimeException declared in a business method invalid because it has no CORBA 
mapping. True enough, but that's because none is needed. The mapping spec (OMG 
document ptc/99-03-09 Sec. 28.3.4.4) states:

"unchecked exception classes are assumed to be mapped to the implicit CORBA system 
exception, and are therefore not explicitly declared in OMG IDL."

The EJB spec allows throwing a RuntimeException from a business method, and in fact 
encourages it for certain well-defined situations (cf. Sec. 17.2.2, ejb 2.0 spec). The 
only note on _declaring_ a RuntimeException is the following:

"Note that the javax.ejb.EJBException is a subclass of the java.lang.RuntimeException, 
and therefore it does not have to be listed in the throws clauses of the business 
methods."

There is no firm edict _not_ to declare a RuntimeException in the method.

A RuntimeException declaration should be allowed by jboss. The work-around is 
simple--don't declare it--but the Verifier message does not lead one to this 
conclusion. I will file a jboss bug report on this.

--
Fred Loney
Spirited Software, Inc.
[EMAIL PROTECTED]

Burkhard Vogel wrote:

> Hi,
> I thought in the same pattern, but its in the spec that RuntimeExceptions
> are not valid.
> Burkhard
> ----- Original Message -----
> From: "Hermann RANGAMANA" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, July 12, 2001 5:58 PM
> Subject: Re: [JBoss-user] More on RMI/IIOP warnings
>
> > I've had the same problem few days ago...
> >
> > Remove all EJBException from the throws clause of ALL of your business
> > methods in the remote interface. If there's only ONE business methods wich
> > declare EJBException in its "throws" clause, then that remote interface
> > won't be a valid type of RMI/IIOP...
> >
> > Check out methods in your home interface, too ... and make sure they
> aren't
> > declared as throwing EJBException ...
> >
> > I don't really know why jBoss (or the EJB spec ...) disallows EJBException
> > as part of exception list of a business method. Since EJBException extends
> > RuntimeException extends Exception implements Serializable, i don't see
> any
> > reason why a class containing a method declaring EJBException should not
> be
> > a valid type of RMI/IIOP....
> >
> > May be someone can shade a light on this ..
> >
> > --hermann
> >
> > ----- Original Message -----
> > From: "Maraya Michael" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Thursday, July 12, 2001 4:44 PM
> > Subject: RE: [JBoss-user] More on RMI/IIOP warnings
> >
> >
> > >
> > > AFAIK, The remote and home interfaces shouldn't be serializable,
> > > just their parameters and arguments.
> > >
> > > I'm still trying to get the hang of this, too.  Send me your home
> > > and remote interfaces, your bean implementation and any referenced
> classes
> > > and let me see if I can help.  Send them to [EMAIL PROTECTED]
> > >
> > > ---
> > > Michael R. Maraya
> > >
> > > > ----------
> > > > From: Frederick N. Brier[SMTP:[EMAIL PROTECTED]]
> > > > Reply To: [EMAIL PROTECTED]
> > > > Sent: Wednesday, July 11, 2001 11:51 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: [JBoss-user] More on RMI/IIOP warnings
> > > >
> > > > SomeClass and AnotherClass are interfaces that extend EJBObject which
> in
> > > > turn extend java.rmi.Remote.  I don't believe you are supposed to
> define
> > > > and interface as both Serializable and Remote.
> > > >
> > > > So these are Remote interfaces for classes which I assume are
> > dynamically
> > > > generated by JBoss and act as front end redirectors (for the Bean
> > classes)
> > > >
> > > > whose stubs are the actual objects serialized and should be able to be
> > > > passed and returned as parameters.  These redirectors are associated
> > with
> > > > the EJB container and then feed into the chain of interceptors that
> > > > execute
> > > > prior to invoking the method in the bean.  Maybe I'm babbling, but I
> > think
> > > >
> > > > I'm getting the hang of the architecture.  I'm just confused as to why
> > the
> > > >
> > > > verifier is giving me this error.
> > > >
> > > > Is there a debug switch, log trace, or a suggested approach to trace
> > into
> > > > the JBoss verifier that could perhaps give me more insight into what I
> > > > might be doing wrong?  BTW, I did try Fred Loney's suggestion and
> > removed
> > > > all data member references of the EJB's EJBObject interface type.  No
> > > > change in the error messages.  Please, HELP!  Suggestions?!??


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

Reply via email to