Blog




This is a short note on developing extensions for the JBoss AS 7 server. It took me quite some time to pinpoint the problem

JBAS014775: New missing/unsatisfied dependencies

to be actually a problem with my extension parser.

Here are the details ...

The Problem

When I installed my extension for JBoss AS 7 for the first time, the system answered with the following message:

JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.binding.http (missing) dependents: [service jboss.web.connector.http]
      service jboss.binding.management-http (missing) dependents: [service jboss.serverManagement.controller.management.http]
      service jboss.binding.management-native (missing) dependents: [service jboss.remoting.server.management]
      service jboss.binding.osgi-http (missing) dependents: [service jboss.osgi.as.framework.bootstrap]
      service jboss.binding.remoting (missing) dependents: [service jboss.remoting.server.remoting-connector]
      service jboss.binding.txn-recovery-environment (missing) dependents: [service jboss.txn.ArjunaRecoveryManager]
      service jboss.binding.txn-status-manager (missing) dependents: [service jboss.txn.ArjunaRecoveryManager]
      service jboss.outbound-socket-binding.mail-smtp (missing) dependents: [service jboss.mail-session.java:jboss/mail/Default]
      service jboss.socket-binding-manager (missing) dependents: [service jboss.serverManagement.controller.management.http,
                                     service jboss.remoting.server.management, service jboss.remoting.server.remoting-connector]

After stopping the server I saw this:

JBAS014776:    Newly corrected services:
      service jboss.binding.http (new available)
      service jboss.binding.management-http (new available)
      service jboss.binding.management-native (new available)
      service jboss.binding.osgi-http (new available)
      service jboss.binding.remoting (new available)
      service jboss.binding.txn-recovery-environment (new available)
      service jboss.binding.txn-status-manager (new available)
      service jboss.outbound-socket-binding.mail-smtp (new available)
      service jboss.socket-binding-manager (new available)

I search for quite a while, trying to figure out, what caused the dependency problem. I even posted a question to the JBoss Community: Newbie to extensions: JBAS014775: New missing/unsatisfied dependencies.

As I - quite accidentally - moved the subsystem declaration within the standalone.xml some positions up, I found out, that the extension configuration parser did not read all XML passed to it properly. The dangling end element of my configuration seemed to confused the whole parsing process. So the parser skipped the rest of the configuration file, including the socket bindings. Hence the error message. :-)

If I would not have registered my extension as the last subsystem, I might have found the problem much earlier. The error message is much more obvious in this case.

Conclusion

If you happen to encounter JBAS014775 and/or JBAS014776, while you are installing your own extension, check your extension configuration parser.

Tip: During development, you may want to add your subsystem not at the very end.

I hope this shot helps saving someone's time ... ;-)

 


Link

Link

Posts