Many thanks for the detailed information!
But I've some questions here:
1. I thought reflection is forbidden by the EJB spec, have you used it
successfully in your code?
2. As far as I see, the way you do it is delegation and not inheritence,
and you don't make this for conversion of individual Java class to EJB
but as a general solution, right? So what's your experience with it
performance-wise? And would it always work?
Many thanks in advance!
regards
ZHU Jia
"Schouten, Andreas" schrieb:
>
> Hello Jia!
>
> We migated the folowd situation to ejb
>
> Class ImplBasic implements InterfaceA
>
> Class Impl1 extendes ImplBasic
> Class Impl2 extendes ImplBasic
> Class Impl3 extendes ImplBasic
> ...
>
> InterfaceA obj = (Inter...)new Implx(...)
>
> as
>
> MyRemote extends InterfaceA, EJBObject
>
> MyBean extends SessionBean {
> private InterfaceA delegate;
>
> ejbCreate(String implementationClass){
> delegate = (InterfaceA)
> ImplBasic.getInstanceOf(implementationClass);
> ....
> aInterfaceMethod(...) {
> delegate.aInterfaceMethod();
> }
>
> where getInstaceOf creates a instance of the implementation class via
> reflection.
>
> Thats the only way I saw to implement a remote interface with many
> implementations. Maybe there is a better way?
>
> Andreas
>
> > -----Original Message-----
> > From: ZHU Jia [SMTP:[EMAIL PROTECTED]]
> > Sent: 03 July 2001 07:28
> > To: EJBList; [EMAIL PROTECTED]
> > Cc: jboss-user
> > Subject: [JBoss-user] Help! - Can EJB inherit from normal classes?
> > Packaging with normal classes?
> >
> > Hello,
> >
> > I've a question on inheritence in EJB.
> > As I'm working on the adaption of an existing Java framework, I have to
> > convert many normal Java classes to EJB. But I'm not sure what to do with
> > the inheritence. Someone in the list suggested I let the RemoteInterface
> > inherit from some super interface and let the BeanClass inherit from the
> > super implementation. This way, if a type of the super interface is
> > expected, then an EJB RemoteInterface can be returned, which looks quite
> > reasonable to me, so I was trying to do just that.
> > But the problem is, I didn't seem to be able to compile because I cann't
> > have any constructor in the BeanClass (O'Reilly book), which I do have in
> > the original class that the bean should substitute:-(
> > I know, normlly the stuff in the constructor is done in the ejbCreate, but
> > in my case, I have invokation of super() in the constructor, which is of
> > course bad for EJB. But it didn't work even if I don't use the super() but
> > move the init code from super class to the bean, compiler simply says it
> > cann't deal with the constructor in the super class:-(
> > Now I'm wondering, is it that I've done something wrong or is such thing
> > not
> > possible by definition? Anyone with experience here, comments are heartily
> > welcome!
> > Also, another question would be: If the purpose of an EJB is to substitute
> > some normal class, should I put it in it's own package, or should I leave
> > it
> > in the original package? If I put it in a new package, then many
> > "protected"
> > access modifier has to be "cracked open" to "public" in the original
> > package, which seems hairy to me. But I don't know whether it's
> > possible/feasible to package EJBs with the normal classes and make them
> > one
> > big jar, will the app server have any problem with it?
> > The problems are quite urgent and I'm looking forward to your reply!
> > Many thanks in advance!
> >
> > regards
> > ZHU Jia
> >
> >
> > _______________________________________________
> > JBoss-user mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/lists/listinfo/jboss-user
>
> If you have received this e-mail in error or wish to read our e-mail disclaimer
>statement and monitoring policy, please refer to
> http://www.drkw.com/disc/email/ or contact the sender.
>
> _______________________________________________
> 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