Developing using EAR structure gives redeploy/classpath issues

I am very keen to get people's opinions and methods of developing and packaging
EARs/WARs/EJBs under WL6.1 sp2.
What method do you use and what problems do you get...
We have recently migrated to WL6.1 sp2, and looked forward to using the Enterprise
Applications Archive expanded structure to deploy and develop under. However I
have come across a few fundamental problems that seem to make development in this
structure worthless.
It seems it's easier just have all the expanded classes paths on the Java Classpath
and just restart the server after a individual class file recompile ?
Problems :-
- With an expanded EAR structure, I believe you can only redeploy the WHOLE EAR
(by touching the REDEPLOY file), not an individual ejb jar or just the WAR part.
I have tried putting a REDEPLOY file in the WAR \WEB-INF\ directory, as recommended,
but I think this only works outside of the EAR structure. If you use the Console
to just undeploy an redeploy the Web App, it redeploys the whole EAR. So this
leaves us having to undeploy everything to test out a change.
- The classloaders hierarchy available with an EAR structure seems ideal at first,
e.g. the Web App can see all EJB jar classes. We have our EJB jars containing
the beans and just the DEPENDANT classes (often these are abstract types), this
keeps the jars lean and avoids duplicated classes across ejb jars. But this leaves
some classes which are not in any EJB jar at all (often subclasses or implementations
of these abstract types), however the Web App still needs them. It is difficult
to isolate these individual classes. So for now we have two solutions which don't
seem quite right :-
Make one of the EJB.jars contain ALL the Server side classes, not just dependant
classes. Or make a full jar of ALL server side classes and add this jar to the
Web Apps \META-INF\manifest Class-Path like you would do with an EJB jar.
Is there a way to have a non-EJB jar at the EJB classloader level ? This would
solve this and allow Web Apps to see other non-ejb jars.
How do you guys works and avoid the problems we've hit ?

Pete <[email protected]> wrote:
Is there a way to have a non-EJB jar at the EJB classloader level ? Sure, just add it to the Class-Path: manifest entry in your ejb.jar.
Dimitri

Similar Messages

  • Why do I still hear sound through speakers when I'm using ear buds?

    Why do I still hear sound through speakers when I'm using ear buds?

    likely same issue just the detector is stuck in the opposite setting
    https://discussions.apple.com/thread/1343532

  • Weird classpath issue in EAR.Some classes can access jars that others cant!

    Hi,
    I'm experiencing a very frustrating problem that's proving to be a bit of a show stopper for me. I would really appreciate some help...
    I have an EAR deployed successfully on Sun Appserver 8 which passes the tests from the sun EAR verifier tool. The ear contains a jar file that I built which has a stateless session bean, home, remote interfaces and rmi stubs, deployment descriptors, as well as some utility classes. The EAR also contains some third-party jars such as Hibernate, Log4-j, apache-commons etc etc. The jar I built has in it's manifest file, the classpath information to reference the other jars in the ear.
    The problem I am having is that one of the classes in a third-party jar (hibernate3.jar) cannot see a class in another of the third party jars (log4j-1.2.8.jar) and as a result is throwing a NoClassDefFoundError for org/apache/log4j/Layout while trying to initialise - the two jars are at the root of the EAR.
    Furthermore, my utility classes can access and use Log4j classes without any problem and logging command from those classes is output successfully to the server console. However, my session bean, which is packaged in the same jar as the utility classes, fails to log anything even though it uses exactly the same logger and log configuration as the utility classses.
    I have tried adding classpath information to the manifest of the EAR so that the third-party jars can pick it up but this makes no difference. Also, according to the EAR verifier tool, you are not allowed to put any classpath information in the EAR manifest.
    I have also tried deploying this in weblogic but am experiencing the same problem.
    If anyone can offer any advice or solutions I would greatly appreciate it.
    :)

    what´s type error have you?
    perhaps external libraries (located in classpath) invoke opsCommon.jar and config-3.0.jar classes. then, classnotfound is normal.
    and... why separate external libraries (opsCommon.jar and config-3.0.jar inside ear, and other in classpath)?

  • Request for sample reports developed using report designer

    Hi All,
    Request for sample reports developed using report designer.
    Thanks

    Ramesh,
    right now there really is no way to solve what you are looking for.  There partial solutions, but you will not be able to force a page break in a dynamic report.
    Here is what I have faced, and what I have come up with so far:
    I have a series of reports that have the same column heading, but spread over 5 pages in a fixed structure.  I need to be able to re-use the header and the general report design with 6 reports.  Here is my solution:
    1. Create an outline of the report.  I did all the formatting by creating a report section for each page.  You can force page breaks between the pages.  Upgrade to patch 1502 (came out last week) and you will see some new functionality (such as fit to page, page numbers, etc).
    2. Insert all you page breaks and do all the formatting.
    3. Insert an infoprovider.  Once in, you can just drag and drop the key figure cells into your formatted report.
    4. Create additional modification for formatting as needed.
    This fixes my problem (for now), but I had to do a lot of work to come up with this.  Also, the latest patch (1501 and 1502) has created an issue for me - there is a null exception when I try to use a variable or a filter value in the report body - I can't save the report.  I have an OSS message out, but our BASIS guys are going to be taking the lead on troubleshooting this.
    The reason that you are seeing some customers on the new pages is probably because of "how the cookie falls" - they just fit that way.
    I am trying to be positive and overcome the limitations that are in place right now. If my technical issue is solved, I would recommend upgrading to the new patch (1403 is the latest stable one in my opinion)
    good luck
    Pavel

  • [svn:bz-trunk] 18389: Eclipse Project Classpath issues:

    Revision: 18389
    Revision: 18389
    Author:   [email protected]
    Date:     2010-11-01 03:49:03 -0700 (Mon, 01 Nov 2010)
    Log Message:
    Eclipse Project Classpath issues:
    - Fixing class path entries.
    - Instead of jars pointing to the actual projects.
    Modified Paths:
        blazeds/trunk/development/eclipse/projects/java/blazeds-proxy/.classpath
        blazeds/trunk/development/eclipse/projects/java/blazeds-team.war/.classpath

    Figured out that it was failing while building a product for MacOS. I updated Tycho to use version 0.15.0 and all work well.
    For more information on the bug (case sensitive file systems) see:
    bugs.eclipse.org/bugs/show_bug.cgi?id=349877

  • Error while loading an XML document using a structured application

    Hi,
    I try to load an XML document using a structured application defined in the default structapps.fm
    My code is shown down, extracted from the FDK API code sample.
    Problem, I always have the same message :
    "Cannot find the file named e:\xml\AdobeFrameMaker10\file. Make sure that the file exists. "
    Where "e:\xml\AdobeFrameMaker10\" is my install directory.
    So I assume that frame try to find the structapps.fm file but does not find it.
    What else can it be ?
    Does anyone knowns how to achieve this simple task using extendScript ?
    Thanks for any comments, Pierre
    function openXMLFile(myLastFile) {
        var filename = myLastFile.openDlg("Choose XML file ...", "*.xml", false);
        if (filename != null) {
            /* Get default open properties. Return if it can’t be allocated. */
            var params = GetOpenDefaultParams();
            /* Set properties to open an XML document*/
            /*Specify XML as file type to open*/
            var i = GetPropIndex(params, Constants.FS_OpenAsType)
            params[i].propVal.ival = Constants.FV_TYPE_XML;
            /* Specify the XML application to be used when opening the document.*/
            i = GetPropIndex(params, Constants.FS_StructuredOpenApplication)
            params[i].propVal.sval = "myApp";
            i = GetPropIndex(params, Constants.FS_FileIsOldVersion)
            params[i].propVal.ival = Constants.FV_DoOK
            i = GetPropIndex(params, Constants.FS_FontNotFoundInDoc)
            params[i].propVal.ival = Constants.FV_DoOK
            i = GetPropIndex(params, Constants.FS_FileIsInUse)
            params[i].propVal.ival = Constants.FV_DoCancel
            i = GetPropIndex(params, Constants.FS_AlertUserAboutFailure)
            params[i].propVal.ival = Constants.FV_DoCancel
            /*The structapps.fm file containing the specified application must have
            already been read. The default structapps.fm file is read when FrameMaker is
            opened so this shouldn't be a problem if the application to be used is
            listed in the structapps.fm file.*/
            var retParm = new PropVals()
            var fileObj = Open(filename, params, retParm);
            return fileObj
        } else {
            return null;

    Pierre,
    Depending on the object "myLastFile", the method openDlg might not even exist (if the myLastFile object is not a File object, for instance). And I do not see any need for the myLastFile anyhow, as you are presenting a dialog to select a file to open. I recommend using the global ChooseFile( ) method instead. This will give you a filename as string in full path notation, or null when no file was selected in the dialog. I am not sure what your ExtendScript documentation states about the return value for ChooseFile, but if that differs from what I am telling you here, the documentation is wrong. So, if you replace the first lines of your code with the following it should work:
    function openXMLFile ( ) {
        var filename = ChooseFile ( "Choose XML file ...", "", "*.xml", Constants.FV_ChooseSelect );
    While writing this, I see that Russ has already given you the same advice. Use the symbolic constant value I indicated to use the ChooseFile dialog to select a single file (it can also be used to select a directory or open a file - but you want to control the opening process yourself). Note that this method allows you to set a start directory for the dialog (second parameter). The ESTK autocompletion also gives you a fifth parameter "helplink" which is undocumented and can safely be ignored.
    Good luck
    Jang

  • Developed a report which gives PO(Purchase Order) Pricing details.

    hi experts,
    please give me tables and fields for following report, and also exlain me briefly,
    Developed a report which gives PO(Purchase Order) Pricing details.
    thanks in advance,
    radhakrishna

    Hello Radhakrishna,
    you can use the function module
          CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
            EXPORTING
              comm_head_i       = wa_komk
         LANGUAGE          = ' '
       IMPORTING
         COMM_HEAD_E       =
         COMM_MWSKZ        =
            TABLES
              tkomv             = gi_komv
              tkomvd            = gi_komvd.
    in wa_komk pass the condition record number.
    this you will get from your vbak table
    reward  points if helpful

  • Need suggestion on Develop the Hierarchical Structure OAF page--priority

    Hi experts,
    i need to develop the hierarchical structure of OAF page, for this devlopment i need suggestions from you side.
    please find below diagram how to develop the OAF page.
    CEO
    |
    vice president vice president
    | |
    managers managers managers managers
    | | | |
    developer develoer developer developer developer
    Like that i need to develop the OAF page please give me some inputs. Is it feasible in OAF.

    CEO
    |
    vicepresident vicepresident
    |
    manager manager manager manager manager
    | | | | |
    develper developer developer developer

  • Error in using the Structure

    Hi Experts,
    I am using same structure in different queries, actually the two queries are same (but saved as with small changes).
    In the structure of one query i have created one formula and assigning 0.
    When i replicate the same in the other query i am facing an error "uncaught exception" and i am not able to run the query.
    Can anyone help on this.,as this issue is critical  would appreciate  fast reply.
    Regards

    delete ur query b
    save ur query a AND do SAVE AS and save it as query c
    now make ur changes
    make all small changes
    and see if it let u do that.

  • How to develop using remote MySQL data?

    I need to develop an application with Flash Builder 4, but I need to develop using live data from the server?
    Can this not be done with Flash Builder 4?
    Brad Lawryk
    Adobe Community Professional: Dreamweaver
    Northern British Columbia Adobe Usergroup: Manager
    My Adobe Blog: http://blog.lawryk.com

    Okay.  Same answer really.  Most hosting providers will provide MySQL database connectivity as a default option (e.g a2 hosting).  Then when you deploy your app you are still talking to a database on the localhost (the web server) since your code is there too.  You can also write an AIR app that runs on your desktop and talks to the database on the web server using the same PHP stuff but just pointing to the remote I.P address. 
    For testing I use MAMP (mac) which gives me MySQL, Apache and PHP in one install.
    Regards
    Des.

  • Implement a program by using data structure

    i've learn link-list,b-tree,red black tree,hash table. now it's time for me to implement a program using any one of these. i've no idea about how to start, and what kind of program should i write? what kind of program use data structure? i want some simple example program to make me understand. can anyone help me?
    thank 4 u r time,
    makio

    what sort of program do use data structure? let's say
    i want to use binary search on data , how can i?As nasch said: pretty much any program uses data structures.
    Okay, let's say you want to try binary search. You could do that on an array, on a singly linked list, on a doubly linked list, probably on others that I can't think of right now.
    If you just want practice using the data structures you've learned, then why not write a binary search over several different ones? That will give you a feel for how they differ in usage and performance.
    Or, you can just pick any kind of program that interests you. Unless it's trivially small and simple, there will probably be a use for one or more of the data strux you've learned.
    A chat program needs data structures to hold curently connected users, ongoing conversations, maybe a queue for messages waiting to be sent.
    A card game needs to be able to search to see if a given card is in a given hand. Needs to hold all the cards in a deck that has to be shuffled. Dealing is like popping off a stack.
    A database of students and their courses might want to keep something in an ordered tree--by last name for instance.
    What applications interest you?

  • Can I use Event structures in a subVI?

    Hi,
    I have a subVI (ProvaEv1.vi) that use an event structure inside. But when I use it in a VI (ProvaVI.vi) the event structure in the subVI doesn't catch the events.
    I tried to insert the event structure in a while loop but it doesn't work too.
    Could you help me?
    Thanks Ius
    Attachments:
    ProvaVI.vi ‏11 KB
    ProvaEv1.vi ‏15 KB

    "iusn" <[email protected]> wrote in message news:[email protected]...
    Thanks to all for your answers!
    Wiebe! I tried to do as you suggested but I am not able to link the Event Reference Number inside te SubVI with the Event Register Number of the Register for Event in Main VI. There is e class conflict. Another question: how the SubVI can know the structure of the Register event outside?My aim was to create a modular structure but it seems very difficult, wath do you think about these problems?
    The broken wire is related to your question. The event structure inside the sub vi knows about the events you register in the main, because the reference wire/control has a "strong" type. It contains information about the registered events. That is also why the wire is broken. You have to register all events, then create an indicator/control of the output. Use that control in the subvi. You have to do this every time the events change (you might use a type def if you use the control a lot).
    Usually, the events that you would want to put inside subvi's are those related to user interface objects. I've had this a lot. You make a nice interface, but it's not reuseable, because the events are mixed with all the other events. Only solotion is to manually add the needed event cases in your program, and copy the code.
    Even if you can put the events in a sub vi, I'd expect hanging vi's when more subvi's are registered for the same event. It's hard to tell without trying. So it's not a real solution either.
    Like Chrisger suggested, the event callback might help a little, but they are tricky, and actually ment for this (they are intended for activex callbacks).
    Perhaps you should look at XControls (if you use 8.2). It would be more work to replace your code to XControls, but once you're done, you have reusable code.. Haven't worked with them jet, but they are invented for this problem...
    Regards,
    Wiebe.
    I have already create my application using event structure just in Main VI but it seems very complicate to read and keep update, I would have wanted to give modularity to my application.
    Thanks Ius
    SubVIEventMain.vi:
    http://forums.ni.com/attachments/ni/170/203225/1/SubVIEventMain.vi
    SubVIEvent.vi:
    http://forums.ni.com/attachments/ni/170/203225/2/SubVIEvent.vi

  • How to Use Tree Structure in Forms (Expand & Collpse)

    Hi ,
    I need a logic to develop a Custom form which using tree structure fuctionality.It's like same in Indented Bills form (Module Bills of Material).
    I have to use the symbol '+' and '-' in column called item_number ( if it has sub componentes, using that symbol i may explode or collopse).
    I gone through the base form for that(indented Bill form(Form Name:BOMFQBIN, using BOMFMSTR library function to create Tree Structure)
    but i colud not understand the logic.
    If any one clarify me then it's fine
    Thanks,
    Sri

    see this thread
    Re: Forms 60 Heirarchical Tree..Need Help

  • IE11 compatibility of application developed using webdynpro java in NWDS7.01.12

    Hi,
    I have a webdynpro java application developed using NWDS 7.01.12 with jdk1.4. This portal application is not working when accessed using IE11 browser. The action on buttons and selection from a drop down list in this application is not responding in IE11. Its working well with mozila fire fox vrs 31. On click of action the following error is encountered:
    SCRIPT438: Object doesn't support property or method 'attachEvent'
    File: sapUrMapi_ie6.js, Line: 683, Column: 7
    which points to the below piece of code:
    function sapUrMapi_initLinkStatus() {
      var oNodes = document.getElementsByTagName("A");
      for (var n=0;n<oNodes.length;n++) {
        if (oNodes[n].href.indexOf("javascript:void")>-1) {
          oNodes[n].attachEvent("onmouseover",sapUrMapi_resetStatus);
          oNodes[n].attachEvent("onfocus",sapUrMapi_resetStatus);
    Also on selection from the combo box the below error is displayed.
    SCRIPT438: Object doesn't support property or method 'createEventObject'
    File: sapUrMapi_ie6.js, Line: 2193, Column: 2
    Code:
    oComboBoxSCEvent = document.createEventObject( oEvt);
    The above mentioned errors are being pointed to sapUrMapi_ie6.js file.
    Is there any solution to over come these issues other than setting "user agent string" value in the browser?
    Can this be resolved with any changes in the application or is there any SAP provided solution?
    Please help me to resolve this issue.
    Similar issues are also pointed to popup_ie6.js files at "window.attachEvent("onload",sapPopup_init)" and
    "window.document.attachEvent("onmousemove",resetMouseOver)".
    Thankyou.

    Hi Karthika,
    It is mentioned in Ervin's famous doc, that NWDS version must match that of RunTime System.
    NWDI vs. NWDI content
    I thought the NWDS must be updated via update sites, but surprisingly I could find the patch in service market place.
    I do not know how to get the download link directly for you.
    Perhaps you can spare a few seconds and navigate to
    http://service.sap.com/swdc
    Support Packages and Patches
    A-Z Index
    N
    SAP NetWeaver
    EHP1 for NetWeaver 7.0
    Entry by Comopnent
    Developer Studio
    BR, Tom

  • EAR Structure for JSF project with EJBs

    Hi All,
    I have a JSF project which makes use of EJBs through EJB injection. The project basically consists of 3 components, which are independently archived (as JARs/WARs) and then added to an EAR. The components interact as follow:
    EJB JAR: contains the EJB code.
    Library JAR: contains the bean injection and common methods.
    JSF WAR: contains the JSF pages as well as a request (page) bean which inherits from a class in the library JAR (one containing a bean injection).
    The way I understand it, everything should work fine if I archive those components independently and then add them to an EAR (with the JSF WAR and EJB implementation JAR in the root, and the EJB interface JAR and the Library JAR in a /lib folder). If I do this, however, the bean injection fails and the bean proxy class is just null.
    I managed to get around this by adding the Library JAR to the JSF WAR's lib directory, in which case the bean injection works fine, but if I do it this way it means I'll have to add the Library JAR to all WAR components I have, which seems like needless duplication. Am I doing something wrong when creating the EAR or is this just the way it is? To make myself a bit more clear I include the EAR structures below:
    Not Working
    |_ EJB-impl.jar
    |_ JSF.war
    |_ lib
          |_ EJB-intf.jar
          |_ Library.jar
    Working
    |_ EJB-impl.jar
    |_ JSF.war
          |_ lib
                 |_ Library.jar
    |_ lib
          |_ EJB-intf.jarThank you,
    Ristretto

    Hi All,
    I have a JSF project which makes use of EJBs through EJB injection. The project basically consists of 3 components, which are independently archived (as JARs/WARs) and then added to an EAR. The components interact as follow:
    EJB JAR: contains the EJB code.
    Library JAR: contains the bean injection and common methods.
    JSF WAR: contains the JSF pages as well as a request (page) bean which inherits from a class in the library JAR (one containing a bean injection).
    The way I understand it, everything should work fine if I archive those components independently and then add them to an EAR (with the JSF WAR and EJB implementation JAR in the root, and the EJB interface JAR and the Library JAR in a /lib folder). If I do this, however, the bean injection fails and the bean proxy class is just null.
    I managed to get around this by adding the Library JAR to the JSF WAR's lib directory, in which case the bean injection works fine, but if I do it this way it means I'll have to add the Library JAR to all WAR components I have, which seems like needless duplication. Am I doing something wrong when creating the EAR or is this just the way it is? To make myself a bit more clear I include the EAR structures below:
    Not Working
    |_ EJB-impl.jar
    |_ JSF.war
    |_ lib
          |_ EJB-intf.jar
          |_ Library.jar
    Working
    |_ EJB-impl.jar
    |_ JSF.war
          |_ lib
                 |_ Library.jar
    |_ lib
          |_ EJB-intf.jarThank you,
    Ristretto

Maybe you are looking for

  • BP Creation in Web UI - How to enable Sales Area data?

    Hello Gurus We are using CRM 2007 and create BPs in CRM and then have them replicate to OLTP. This works as desired if I launch Transaction BP and maintain the record. But in Web UI, I dont see many of the fields that are necessary for replication su

  • Using InputMap and ActionMap to detect any key pressed...plz help

    Hi, I am quite new to Java. I have a tiny problem. I wanna put an actionlistener into a JTextField, so it printout something whenever a key is pressed (when the textField is selected). I can only get it to print if I assign a specific key to pressed.

  • Problem with accessing BIEE services

    Hello. I installed Oracle Database 10g, SOA Suite, Internet Application Server and Business Intelligence Enterprise Edition. It is running on Linux. When I enter AS homepage and go to - for example - Application Server Control from it it's ok - it ac

  • Typing shortcuts on a MacBook Pro?

    Can you create typing shortcuts on a MacBook Pro, Late 2011?  What I mean is, if I type "hitw", can I teach my computer to type "How is the weather?", like I can on my iphone/ipad? Thank you!!

  • Disable IP address

    I am looking for an upgrade to Apple's security that will automatically block access from a given IP when some threshold of invalid attempts to login are made from that address. Although root is disabled and my privileged account has a hardened passw