At some point in the next two/four weeks, I've got to go through these changes
and either delete them or apply them properly.
I am not going to support multiple codebases of JBossMQ.
It makes porting of fixes too hard. Something that is already a pain with 3 branches.
And I've already gone through this excercise twice in the last two years.
These changes are:
1) An incompatible change to the Interceptor interface
2) Introduction of new methods to support POJO deployment in standalone EJB3
1) If you want to add methods to the interceptor interface, this should be done
through an additional (optional) interface with JBoss supplied interceptors
bypassing customer supplied interceptors that do not implement the interface
or extend the interceptor support.
psuedo code:
public IntecetorExt::doNewMethod(...)
{
Interceptor next = getNextInterceptor();
if (next instanceof InterceptorExt == false)
next = next.getNextInterceptor();
next.doNewMethod(...);
}
2) The POJOification should be done at a fundamental level.
The JMX layer should just leverage the POJOs.
Currently it is the opposite way around. This means incompatible changes
to the existing JMX MBeans and the POJOs depend needlessly on
ServiceMBeanSupport, etc.
Also some operations that look like they are supported don't work
when they are not MBeans, e.g. createQueue() which invokes the service controller.