- This topic has 9 replies, 2 voices, and was last updated 17 years, 7 months ago by Riyad Kalla.
-
AuthorPosts
-
dandubinskyParticipantHi All,
I’m trying to deploy an EJB application in exploded format on OC4J so I can change code around and test it without redeploying each time.
I had this working in an older version of My Eclipse and OC4J, using the work around in http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-8261.html
, but now with OC4J 10.1.3.2 and MyEclipse 5.1.1 GA, it’s not working anymore.Here is what I’m doing:
I have a EAR with a web app (war) and an EJB app (jar) in it. When I deploy as packaged everything works, but I can’t hot deploy. I tried the the trick in from the above link which worked great in older versions of My Eclipse and OC4J, but not anymore apparently. First deploy the EAR as packaged, then stop the server, then undeploy and redeploy as exploded, then restart the server. When I do that, the web application works fine and does the hot deployment, but the EJB application doesn’t work anymore. I get the error:
WARNING: EJBPackage.parseOrionBean Bean ejb/BeanName does not exist; skipping deployment
for every EJB in the jar.
Thanks
Riyad KallaMemberTry this… instead of removing the packaged deployment, create *another* deployment of type “Custom Location” and when notified of the conflict in deployments, choose “Overwrite” and then deploy it ontop of the existing one…
dandubinskyParticipantThanks for the reply. Unfortunately doing a custom location deploy in addition to the package deploy didn’t solve the problem. If I have the custom location deploy out there at the same time as the package deploy I still get this error on all the EJBs “ejb/BeanName does not exist”. If I remove the custom deploy and leave the packaged one and restart the server it finds the EJBs again. I did notice that when I deploy packaged, OC4J doesn’t expand the EJB application into it’s own folder in the application-autodeploy directory. It leaves it as a jar file. But I think it did that with OC4J version 9 also.
Riyad KallaMemberDoes OC4J just not understand exploded EJB deployments? In any situation or combination of deployment can you get it to understand your EJBs in this manner?
dandubinskyParticipantI haven’t been able to get any exploded EJB projects deployed (I have 3 of them). But I really don’t know if it’s some problem with the new version of OC4J I’m using or if it’s a problem with MyEclipse 5.1.1 GA or both due to some new incompatibility between the two. I guess I can learn more by pointing the new MyEclipse to the old OC4J server that used to work and see what happens, but that will take a little time.
In the mean time, has anyone out there gotten and exploded EJB project to work with OC4J 10.1.3.2? If so, what version of MyEclipse was being used?
Riyad KallaMemberThe deployment code in MyEclipse hasn’t changed since the 5.0 release, and all it’s really doing is copying out the resources… if this used to work and now doesn’t, my guess is that something changed in OC4J… trying the old server is a good idea, please keep me posted.
dandubinskyParticipantIt looks like they did change something in OC4J 10.1.3. The same applications deploy fine in OC4J 10.1.2, packaged or exploded in My Eclipse 4.1.1 or 5.1.1, but EJBs won’t deploy exploded in OC4J 10.1.3 in either version of My Eclipse.
I guess I’ll open an issue with meta-link. If I find a solution I’ll post it here.
Riyad KallaMemberThank you for digging into this for the other OC4J users and keeping us posted, it’s much appreciated.
dandubinskyParticipantI dug further into this issue and found a bug in OC4J (which I opened with Oracle, but who knows when/if they’ll fix it). I’m wondering if there is a way to work around the Oracle bug using MyEclipse. The problem is the entry for the EJB application in the application.xml file. When it’s an exploded app MyEclipse writes it like this:
<module id=”myeclipse.1124723605347″>
<ejb>EJBAppName</ejb>
</module>The bug is that if the EJBAppName doesn’t end in “.jar”, OC4J can’t seem to load it. If you manually change the directory name “EJBAppName” to “EJBAppName.jar” and change the entry in the application.xml to match “<ejb>EJBAppName.jar</ejb>” then OC4J can load it and it works OK, until you redeploy.
Is there anyway to tell MyEclipse specifically what to name the directory for an exploded deployment?
Riyad KallaMemberUnfortunately there isn’t a control to do that at this time. Thank you for posting the issue though, atleast it provides clarification for anyone else battling the same issue.
-
AuthorPosts