Just as an FYI, though I haven't tried it on WebLogic yet, re-using 
<home> and <remote> interfaces with different <ejb-class>'s also works 
in the J2EE SDK 1.3 as well as in JBoss (I just tested it a couple days 
ago).

WMckean,

I'm still interested in you sending me the WebLogic info (and the 
"obscure spec" reference) so I can investigate.

Thanks,
David

--

 > Can you copy/paste the WebLogic complaint into an email back to this
 > list?  I'm curious; I don't remember that in the spec and even if it
 > was, would argue why they would allow free-form text in the ejb-jar.xml
 > for <home> and <remote> if we couldn't re-use valid interfaces in them.
 >  What exact version (and service pack) of WebLogic?  I'd like to give
it a go...
 >
 > David
 >
 > --

[EMAIL PROTECTED] wrote:

 > That's an interesting topic, if I might butt in :)  The technique you
 > mentioned below works great in jBoss, but when I tried to port the 
same code
 > to another server running Darth WebLogic, it complained about some 
obscure
 > j2ee specification requiring the home and remote interfaces being 
*unique*
 > or having the same name as the EJB.
 > > The technique you use below is very powerful, as it allows a layer of
 > abstraction.  My question then is the technique below legal?
 > > Wes
 > > -----Original Message-----
 > From: David Ward [mailto:[EMAIL PROTECTED]]
 > Sent: Monday, July 02, 2001 10:18 AM
 > To: [EMAIL PROTECTED]
 > Subject: Re: [JBoss-user] Casting home interface to correct bean type
 > > > Chris,
 > > You shouldn't have to cast your home interfaces; in fact, you can 
share
 > the same remote and home interface for all your "Form" EJB
 > implementations.  Try this, for example:
 > > // interfaces/beans
 > > public interface Form extends EJBObject;
 > public interface FormHome extends EJBHome;
 > public class FooForm implements SessionBean;
 > public class BarForm implements SessionBean;
 > > // inside servlet (bad code for ease of example)...
 > > public void service(HttpRequest req, HttpResponse res) {
 > String formName = req.getParameter("formName");
 > try {
 > InitialContext ctx = new InitialContext();
 > Object ref;
 > if ( formName.equals("foo") )
 > ref = ctx.lookup("java:comp/env/ejb/FooForm");
 > else if ( formName.equals("bar") )
 > ref = ctx.lookup("java:comp/env/ejb/BarForm");
 > else
 > // do something...
 > FormHome home = (FormHome)PortableRemoteObject.narrow(ref,
 > FormHome.class);
 > Form form = home.create();
 > // now use the generic form interface...
 > } catch (Exception e) {
 > throw new ServletException(e);
 > }
 > }
 > > Basically, your deployment descriptor will specifcy the same 
<remote> > and <home> interfaces for both FooForm and BarForm, but will 
obviously
 > have different <ejb-class>'s bound to different JNDI names.  Your
 > implementations of FooForm and BarForm can be radically different, but
 > since you said they will have the same method signatures, the client
 > code can just use the "Form" interface.
 > > Hope this helps,
 > David
 > > --
 > > Chris Adams wrote:
 > > >>Hi,
 >>
 >>Need some help with remote casting objects when using ejb's
 >>
 >>I'm going to have a set of bean which each represent a form. Each for has
 >>the same set of methods, but they need to be independent ejb's because
 >>
 > each
 > >>has different details.
 >>
 >>The client is a servlet, which will receive a parameter
 >>the type of form to return. This then needs to get the home interface of
 >>the bean. I am going to have a properties file which pairs the form name
 >>
 > to
 > >>it's home interface class name.
 >>
 >>My problem is that the lookup method just returns an object, so how can I
 >>cast this object to the correct home interface, as the type of form 
is not
 >>know until the servlet is called.
 >>
 >>I've tried creating standard interfaces, which all form beans could
 >>
 > inheret
 > >>from, but came up with all sort of problems.
 >>
 >>I could use relfection to call the methods, but would prefer not to. Any
 >>ideas.
 >>
 >>Many Thanks
 >>
 >>Chris Adams
 >>
 >>
 >>
 >>
 >>Chris Adams
 >>==============================
 >>Regus Computer Services Ltd
 >>Direct Line: 01279 712010
 >>ESN: 6-741-2010
 >>Switchboard ESN: 6-741-2000
 >>Tel: +44 (0)1279 507988
 >>Fax: +44 (0)1279 507783
 >>E-mail: [EMAIL PROTECTED]
 >><http://47.137.128.160/regus> >><http://www.regus-cs.co.uk/> 
 >>==============================
 >>
 >>
 >>
 >>
 >>Regus Computer Services Ltd.
 >>The information transmitted is intended solely for the person or 
entity to
 >>which it is addressed and may contain confidential and/or privileged
 >>material. Any retention, review, retransmission, dissemination, other 
use,
 >>or taking any action relying on this information by persons or entities,
 >>other than the intended recipient is prohibited. If you received this in
 >>error, please contact the sender and delete the material from any
 >>
 > computer.
 > >>We will not be liable for direct, indirect or consequential damages
 >>
 > arising
 > >>from the alteration of the contents of this e-mail by a third party 
or as
 >>
 > a
 > >>result of any virus.
 >>
 >>_______________________________________________
 >>JBoss-user mailing list
 >>[EMAIL PROTECTED]
 >>http://lists.sourceforge.net/lists/listinfo/jboss-user
 >>
 >>
 > >



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

Reply via email to