[Design of EJB 3.0] - JBossEjbParsingDeployer can't handle EJB3 jboss.xml
by wolfc
I put in a hack some time ago to have the EJB3 deployer handle version 3 jboss.xml files. This hack is there because the current deployer chain has no notion of annotations, thus an annotated bean leads to:
Caused by: java.lang.IllegalStateException: Bean OverrideDefaultedQueueTestMDB not declared in the ejb-jar.xml
| at org.jboss.deployment.JBossEjbObjectFactory.setValue(JBossEjbObjectFactory.java:655)
How are we going to fix this? My guess is: EjbAnnotationParsingDeployer -> EjbParsingDeployer -> JBossEjbParsingDeployer.
Note that there is a nice feature in EJB3 which uses ejb3-interceptors-aop.xml to define the aspects. This is highly dependant upon annotations. I want to keep ejb3-interceptors-aop.xml. So in the end all metadata is converted back into annotations. (This probably needs to change for metadata-complete, where we must ignore annotations.)
Should the deployers really be in server? It's an integration point between the functional module / component (ejb3, web etc) and AS 5. Shouldn't we have an ejb3-int module for those?
Can we split out the object factories from the deployers to another component which is usable in AS 4.2? AFAIK there is no unmet dependency in AS 4.2 from the object factories.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056422#4056422
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056422
18 years, 9 months
[Design of JBoss Profiler] - Re: About Kill -3 signal
by yimianshisan
Thank you Clerbert!
I know the execution can be controlled by MBean well, it's really a better way.
But what I want to know is the principle of the signal handle. I have tried to define my own signal handling method in jbossInspector.cc. as following:
void signalStartProfiler(int signum)
{
if (profilerRunning>=0) {
initProfiler();
} else {
printMessageError();
}
}
and in the JVM_onLoad() method, I added the following code:
signal(SIGUSR1,signalStartProfiler);
Now I can send signal kill -10 to the process. the profiling now can be started, but the process is dead. When I delete the following code in method initProfile,every thing is OK.
if (profileMemory)
{
jvmpi_interface->DisableEvent(JVMPI_EVENT_OBJECT_ALLOC, NULL);
jvmpi_interface->DisableEvent(JVMPI_EVENT_OBJECT_FREE, NULL);
}
It is interesting, but I don't know why. when I define my own signal handle,what the JVM had done?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056301#4056301
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056301
18 years, 9 months