A common pattern that I see is the following:
| @Remote
| public interface HelloService {
| ...
| }
|
| @Stateless @RemoteBinding(jndiName = "myproject/services/Hello")
| public class HelloServiceBean implements HelloService {
| ...
| }
|
This works great to reference your service from other applications and clients
through a simple lookup in the global JNDI namespace.
However, what I almost always also do is use that same service from the same
application:
| class SomeOtherServiceBean implements SomeOtherService {
| @EJB(mappedName = "myproject/services/Hello")
| HelloService helloService;
| }
|
Because I used @RemoteBinding for HelloService I also have to use the full
global JNDI name here to reference the service. It makes sense of course, it is
just a little inconvenient because you lose the simplicity of just throwing an
@EJB annotation in there.
| class SomeOtherServiceBean implements SomeOtherService {
| @EJB
| HelloService helloService;
| }
|
I know the difference is subtle, but I think a lot of these little improvements
can make a big productivity difference. The more stuff the container takes out
of my hands/mind the better.
So what I would like to ask is if it would make sense to optionally let
@RemoteBinding leave the original naming scheme intact so that 'blind' @EJB
annotations still work in the same application.
Maybe something like this:
| @Remote
| public interface HelloService {
| ...
| }
|
| @Stateless @RemoteBinding(jndiName = "myproject/services/Hello",
replaceDefaultBinding = false)
| public class HelloServiceBean implements HelloService {
| ...
| }
|
I'll be happy to add this myself if that is an option.
S.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3949056#3949056
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3949056
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user