Hi once again,
i am fighting again with the ejb3 embedded in order to manage and o some unit tests in my
ejb3.I downloaded the source form the repository and after trying various workarounds to
make that thing to work i have come to the point where i can't understand the reason
for some fragments of code.I will provide my bootstrap class code + the fragments of code
that i believe are wrong.So:
TestNG class
| EJB3StandaloneBootstrap.boot(null);
| deployer = EJB3StandaloneBootstrap.createDeployer();
|
| System.out.println("INFO
["+EJB3StandaloneBootstrap.class.getCanonicalName()+"]\tServer start up in
"+(System.currentTimeMillis() - start)+" ms");
|
| String classpath = System.getProperty("java.class.path");
|
|
| StringTokenizer tokenizer = new StringTokenizer(classpath,":");
|
| while(tokenizer.hasMoreTokens()){
| String token = tokenizer.nextToken();
| if(token.contains("/xxx-app-ejb/target/classes"))
| deployer.getDeployDirs().add(new URL("file:"+token));
| /*if(!token.contains(".jar"))
| deployer.getDeployDirsByResource().add(token);
| else{
| deployer.getArchivesByResource().add(token);
| }*/
| }
|
|
| /*URL url =
Thread.currentThread().getContextClassLoader().getResource("META-INF/persistence.xml");
| URL deployDir = EJB3StandaloneDeployer.getDeployDirFromResource(url,
"META-INF/persistence.xml");
| deployer.getDeployDirs().add(deployDir);*/
|
| try{
| deployer.create();
| deployer.start();
| }catch(Exception e){
| e.printStackTrace();
| }
|
EJB3StandaloneDeployer.create():
| for (URL archive : archives)
| {
| DeployerUnit du = new DeployerUnit(classLoader, archive,
defaultPersistenceProperties, jndiProperties);
| EJB3StandaloneDeployment deployment = new EJB3StandaloneDeployment(du,
kernel, mbeanServer);
| deployments.add(deployment);
| deployment.create();
| }
|
EJB3StandaloneDeployment:
| public class EJB3StandaloneDeployment extends Ejb3Deployment
| {
| public EJB3StandaloneDeployment(DeploymentUnit di, Kernel kernel, MBeanServer
mbeanServer)
| {
| super(di, null, null, null, null);
|
| defaultSFSBDomain = "Embedded Stateful Bean";
| kernelAbstraction = new MCKernelAbstraction(kernel, mbeanServer);
| this.mbeanServer = mbeanServer;
| }
|
Then i get an deployer is null from the constructor of the super class Ejb3Deployment
and the reason is SO obvious!!!
I think the code of the repository is even more buggy...
any convincing answer on why/how this is solved...So i wonder how can anyone make this
thing to work...Unless i will not use dirs BUT jars?Stile it gets to the points of
iterating the archives...
regards
\n\m
P.S.:Sorry for the long post
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4231045#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...