Thank you for your reply. It is a neat feeling to be part of the
community. I am going to move forward with text code generation. Mostly
because this is an educational project. For me and anyone else who wants
to learn from it. I figure readable java files are easier to learn from
and debug. I might even add autogen docs to them :) On to working on my
deployer. I think I am going to start with a JMS bean.
- bfn - JAW
Dain Sundstrom wrote:
On Aug 18, 2004, at 5:25 AM, John Woolsey wrote:
Ok I will stop being a lurker. Mostly because I have started playing
with code :) I am working on writing my own bits of a j2ee engine from
scratch. At the moment it is more of a paralell self discovery project
to Geronimo.
cool
I was wondering what the preferred method to creating objects for
Enterprise Beans is. The obvious way is to use code generation to wrap
the interfaces. There might also be a way to do it with reflection. I
can see both ways as being effective. Which way do you think is better?
I assume you mean what is the best way to create the client stub (i.e.,
the class that implements either the remote or local interface). There
are really only two ways to do this, generate java code and compile it
into byte code, or generate the byte code directly. Generating java
code is pain because you must have a java compiler in you server, and
for the most common compiler, javac, you have to have the source saved
to disk, and all jars needed during the compile on disk.
The preferred method to generate the stub is to generate the byte code
directly. Normally people use java.lang.reflect.Proxy to generate the
byte code implementation of the interface. In Geronimo, we use cglib to
generate the byte code, because it gives us much more control over the
generated code. CGLib is much more complex then reflection proxy, so if
you are just hacking some example code, I suggest you just stick with
reflection Proxy.
-dain