Russell Black
2002-11-13 05:28:01 UTC
First, I want to say God Bless Middlegen!, and kudos to Aslak and the other developers. This will be an enormous time saver if I can get it to do what I need.
When I configure middlegen to generate remote interfaces (viewtype="remote" in the cmp20 subtask), it generates create methods which take local interfaces as parameters.
For example: a Choice belongs to a Scale, and the middlegen-erated create method in ChoiceBean looks like this:
public foo.interfaces.ChoicePK ejbCreate( int number, java.lang.String text, boolean na, icoachplus.interfaces.ScaleLocal scale )
Resulting in an xdoclet-generated *remote* interface that looks like this:
public foo.interfaces.Choice create(int number , java.lang.String text , boolean na , icoachplus.interfaces.ScaleLocal scale)
This causes two issues. First, since it didn't generate any local interfaces, it won't compile. I can make it compile by using viewtype="both", but the real issue in my mind is: what good is a create method on a remote interface that takes local interfaces as parameters? A remote client of course does not have access to local interfaces.
I love the CMR feature introduced in EJB 2.0, so I want to use local interfaces where I can, but I'd really like to be able to create objects with the remote interfaces where running in the same JVM is not an option.
When I configure middlegen to generate remote interfaces (viewtype="remote" in the cmp20 subtask), it generates create methods which take local interfaces as parameters.
For example: a Choice belongs to a Scale, and the middlegen-erated create method in ChoiceBean looks like this:
public foo.interfaces.ChoicePK ejbCreate( int number, java.lang.String text, boolean na, icoachplus.interfaces.ScaleLocal scale )
Resulting in an xdoclet-generated *remote* interface that looks like this:
public foo.interfaces.Choice create(int number , java.lang.String text , boolean na , icoachplus.interfaces.ScaleLocal scale)
This causes two issues. First, since it didn't generate any local interfaces, it won't compile. I can make it compile by using viewtype="both", but the real issue in my mind is: what good is a create method on a remote interface that takes local interfaces as parameters? A remote client of course does not have access to local interfaces.
I love the CMR feature introduced in EJB 2.0, so I want to use local interfaces where I can, but I'd really like to be able to create objects with the remote interfaces where running in the same JVM is not an option.