I have this wierd problem with my EJB's and I am totally lost. Would really appreciate if someone can give me any inputs on that.
I have a EAR file with
- 1 WAR
- 1 Utility Project
- 14 EJB Jar files
When I try to import this EAR into WSAD (which was the IDE used to create the EAR in the first place), SOME TIMES the EJBs turn up cross referenced.
Let's say I have Accounts, Reports, Security EJB's. What happens is the ejb-jar.xml of Accounts EJB project displays the EJB of Reports. The ejb-jar.xml of Reports EJB is pointing to the correct EJB.
- it works when i simply repeat the whole import process for the second, third or the fourth time.
- sometimes it works for the first time itself.
- It happens for different EJBs at different times.
- It happens for 1 EJB usually but sometimes 2 or rarely 3 with no pattern I can idenfity.
- Before importing the EAR, when i extract all the ejb-jar files and check them, I find they are pointing to the correct EJBs.
- the App Server specific deployment files (ibm-ejb-jar-bnd.xmi) is pointing to the correct EJB when the corresponding ejb-jar is pointing to a different EJB
I understand that the IBM Websphere/WSAD forum would be more appropriate for this topic. But I was hoping someone here would be able to tell me what's going on.
Thanks in advance
I've never seen the problem you describe, and I apologize for not having an answer. But I'm curious... What version of WSAD are you using? Have you tried importing the EAR, then immediately shutting down WSAD then starting it up again? Sometimes that helps.
Hi J Moyer,
Thanks for the reply. I am using version 5.1.2 of WSAD.
And I just tried to immediately shut down WSAD after importing. It did not make any difference.
And yes, this is a wierd problem. If it is a WSAD bug then it is a pretty serious one I would say.
Sorry I'm not able to be more helpful. It sounds like something is corrupt - either the ear, or something in wsad/eclipse.
To eliminate the Ear as the cause, have you been able to deploy the ear to a server?
To eliminate wsad corruption as a cause, I'd suggest importing into a clean workspace. If that fails, can you try it on a colleague's workstation?
It's a little analogous to that joke about the three engineers in a car. http://www.engineeringedu.com/jokes.html#The%20Car
Thanks again for the reply.
Initially the EAR was not working on WAS also.
But we found that there were some EJBs which had a resource ref to javax.sql.DataSource but the JNDI name had not been specified. So there is a reference to a datasource but the name of the datasource is not specified. (Specifying a name adds a tag in the ibm-ejb-jar-bnd.xml file with the JNDI name of the datasource). I thought that should'nt matter since these EJBs were not using the datasource anyway. After deleting these unneccessary references, the EAR got deployed in WAS.
But it still does not work on WSAD. I have tried importing into two different colleagues'workstations. And always I import into a new workspace.
And the reason I think the EAR is not corrupted is because it works the 2'nd, 3'rd..or the N'th time always. N has been less than 10 till now :)
At the same time I also think that there is something about the EAR that 'confuses' the WSAD or something! Huh!
And just to go back a little bit again, this was a working application when it was a single EJB jar will all the different EJBs. Then someone separated the EJBs into separate ejb jar files. And then we started seeing this problem.