CLONE - Incorrect JNDI binding log messages being printed to the server.log file for EJB3
deployed bean with @RemoteBinding and @LocalBinding
---------------------------------------------------------------------------------------------------------------------------------------------
Key: EJBTHREE-2270
URL:
https://issues.jboss.org/browse/EJBTHREE-2270
Project: EJB 3.0
Issue Type: Bug
Components: ejb3
Environment: EAP 5.1.1
Reporter: Taneem Ibrahim
Priority: Minor
Attachments: CalculatorEJB.jar
When an ejb is annotated with @RemoteBinding and @LocalBinding, the binding messages in
the server.log is missing the Local JNDI binding value as well as incorrect remote binding
information is printed.
For the following EJB3 bean:
@Stateless
@RemoteBinding(jndiBinding="XXXXXRemote")
@LocalBinding(jndiBinding="XXXXXLocal")
public class CalculatorBean implements CalculatorLocal, CalculatorRemote {
//some implementation code here ....
}
When the JNDI binding messages for it gets registered in the server.log, it prints:-
15:55:45,877 INFO [JBossASKernel] installing bean:
jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3
15:55:45,878 INFO [JBossASKernel] with dependencies:
15:55:45,878 INFO [JBossASKernel] and demands:
15:55:45,878 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
15:55:45,878 INFO [JBossASKernel] and supplies:
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote
15:55:45,878 INFO [JBossASKernel] jndi:XXXXXRemote
15:55:45,878 INFO [JBossASKernel]
jndi:CalculatorBean/local-com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel]
jndi:CalculatorBean/remote-com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Added
bean(jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3) to
KernelDeployment of: CalculatorEJB.jar
There are two issues with the above print message:-
1. It does not print the "XXXXXLocal" JNDI binding.
2. It prints the standard <ejbName>/<remote|local> messages even though
@RemoteBinding and @LocalBinding annotations were presen:-
jndi:CalculatorBean/remote
jndi:CalculatorBean/local
It should only print:-
jndi:XXXXXRemote
jndi:XXXXXLocal
The code in reference is in org.jboss.ejb3.deployers.JBossASKernel class:-
log.info("installing bean: " + name);
log.info(" with dependencies:");
for (Object obj : policy.getDependencies())
{
Object msgObject = obj;
if (obj instanceof AbstractDemandMetaData)
{
msgObject = ((AbstractDemandMetaData)obj).getDemand();
}
log.info("\t" + msgObject);
}
log.info(" and demands:");
for(DemandMetaData dmd : policy.getDemands())
{
log.info("\t" + dmd.getDemand());
}
log.info(" and supplies:");
for(SupplyMetaData smd : policy.getSupplies())
{
log.info("\t" + smd.getSupply());
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira