facebook

Hot redeploy EJBs with OC4J 10.1.3.2

  1. MyEclipse Archived
  2.  > 
  3. Application Servers and Deployment
Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #267529 Reply

    dandubinsky
    Participant

    Hi 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

    #267605 Reply

    Riyad Kalla
    Member

    Try 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…

    #267635 Reply

    dandubinsky
    Participant

    Thanks 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.

    #267680 Reply

    Riyad Kalla
    Member

    Does 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?

    #267682 Reply

    dandubinsky
    Participant

    I 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?

    #267690 Reply

    Riyad Kalla
    Member

    The 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.

    #267742 Reply

    dandubinsky
    Participant

    It 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.

    #267744 Reply

    Riyad Kalla
    Member

    Thank you for digging into this for the other OC4J users and keeping us posted, it’s much appreciated.

    #268132 Reply

    dandubinsky
    Participant

    I 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?

    #268133 Reply

    Riyad Kalla
    Member

    Unfortunately 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.

Viewing 10 posts - 1 through 10 (of 10 total)
Reply To: Hot redeploy EJBs with OC4J 10.1.3.2

You must be logged in to post in the forum log in