Bug 1143751

Summary: [GSS] (6.4.z) java:jboss/exported is not available in @PreDestroy methods during shutdown
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Kyle Lape <klape>
Component: NamingAssignee: emartins
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: bbaranow, bmaxwell, istudens, jason.greene, ppalaga
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-19 15:48:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kyle Lape 2014-09-17 21:36:36 UTC
With the following code in a class named e.g. {{JNDIBinderBean.java}}

---------------------------------------------
private static final String name = "java:jboss/exported/JNDIBinderBean";
private static final String value = "JNDIBinderBean instantiated at " + new Date();

@PostConstruct
public void start() {
  new InitialContext().rebind(name, value);
}

@PreDestroy
public void stop() {
    new InitialContext().unbind(name);
}

---------------------------------------------

When JBoss shuts down, I get an error saying that the MSC service isn't available:

---------------------------------------------
  javax.naming.NamingException: JBAS011836: Could not resolve service
    service jboss.naming.context.java.jboss.exported.JNDIBinderBean
---------------------------------------------

Comment 1 Jason T. Greene 2014-11-19 19:48:35 UTC
The impact of this bug is small. It can be worked around by using EE injection or just using a try/catch block around unbind. Doing a fix in this area touches some sensitive code, and such changes require adequate upstream bake.

Comment 5 Brad Maxwell 2016-08-19 15:48:14 UTC
As upstream is marked as a feature:
https://issues.jboss.org/browse/WFLY-3865

Workaround: try / catch in the PreDestory in case the jndi was already unbound.