EjbEncInjectorpublic class EjbEncInjector extends Object implements EncInjector
Fields Summary |
---|
private static final Logger | log | private String | ejbLink | private Class | refClass | private String | jndiName | private String | error | private String | encName |
Constructors Summary |
---|
public EjbEncInjector(String name, String mappedName, String error)
this.jndiName = mappedName;
this.error = error;
this.encName = name;
| public EjbEncInjector(String name, Class refClass, String ejbLink, String error)
this.refClass = refClass;
String refClassName = refClass == null ? "NULL" : refClass.getName();
this.ejbLink = ejbLink;
this.error = error;
this.encName = name;
if (refClass == null && ejbLink == null) throw new RuntimeException("cannot have null refClass and ejbLink for encName: " + name);
|
Methods Summary |
---|
public void | inject(InjectionContainer container)
if (jndiName == null || jndiName.equals(""))
{
if (ejbLink != null && !"".equals(ejbLink))
{
jndiName = container.getEjbJndiName(ejbLink, refClass);
}
else
{
try
{
if (refClass != null)
{
jndiName = container.getEjbJndiName(refClass);
}
else
{
throw new RuntimeException("searching for @EJB" + encName + " has null refClass and null ejbLink.");
}
}
catch (NameNotFoundException e)
{
throw new RuntimeException("could not resolve global JNDI name for " + error + " for container " + container.getIdentifier() + ": reference class: " + refClass.getName() + " ejbLink: " + ejbLink + " " + e.getMessage());
}
}
}
try
{
if (jndiName == null) throw new RuntimeException("Failed to populate ENC: " + encName + " global jndi name was null");
log.debug(" " + encName + " --> " + jndiName);
Util.rebind(container.getEnc(), encName, new LinkRef(jndiName));
}
catch (NamingException e)
{
throw new RuntimeException("could not bind enc name '" + encName + "' for " + error + " for container " + container.getIdentifier() + ": reference class: " + refClass.getName() + " ejbLink: " + ejbLink + " " + e.getMessage());
}
|
|