Ear packaging benefits

Hi everybody,
I just wanted to get some opinions/validation on ear
packaging based on reading some of the documentation
http://edocs.bea.com/wls/docs60/programming/packaging.html#1037589
It seems that the class loaders for the web applications
will be a descendant of the EJB classloader and hence
will not need
to use the rmi layer to invoke ejb's.
- This is of course true only for a non- distributed
scenario (right ?) .
- Does WebLogic has a different 'logic' when it identifies
that the EJB client and server are on the same machine
? From the following excerpt it implies that there is
a significant performance gain due to that, correct ?
- Also wanted to ask about possible side effects of compressing
the ear/war files .If disk space isn't a consideration,
classes are loaded separately (hence no memory gain by
compressing the jarred files) ,isn't there an overhead
when decompressing the files to use them ?
Thanks
Ari
"About Application Classloaders
When WebLogic Server deploys an application, it creates
two new classloaders: one for EJBs and one for Web applications.
The EJB classloader is a child of the Java system classloader
and the Web application classloader is a child of the
EJB classloader. This allows classes in a Web application
to locate EJB classes, but EJB classes cannot locate
Web application classes. A positive side-effect of this
classloader hierarchy is that it allows servlets and
JSPs direct access to EJB implementation classes. WebLogic
Server can bypass the intermediate RMI classes because
the EJB client and implementation are in the same JVM.

"Ari" <[email protected]> wrote in message
news:3ab0ed8b$[email protected]..
>
Hi everybody,
I just wanted to get some opinions/validation on ear
packaging based on reading some of the documentation
http://edocs.bea.com/wls/docs60/programming/packaging.html#1037589
It seems that the class loaders for the web applications
will be a descendant of the EJB classloader and hence
will not need
to use the rmi layer to invoke ejb's.
- This is of course true only for a non- distributed
scenario (right ?) .Yes. For the distributed case RMI will still be used.
- Does WebLogic has a different 'logic' when it identifies
that the EJB client and server are on the same machine
? From the following excerpt it implies that there is
a significant performance gain due to that, correct ?Yes, there is a performance gain. The size and relative importance of this
gain varies depending on the parameters passed and the work done in the
method.
- Also wanted to ask about possible side effects of compressing
the ear/war files .If disk space isn't a consideration,
classes are loaded separately (hence no memory gain by
compressing the jarred files) ,isn't there an overhead
when decompressing the files to use them ?Generally compressed archives are only used for clients where the size makes
a big difference for download time. I wouldn't recommend using them on the
server. Disk space is generally cheaper than CPU.
Cheers!
Adam

Similar Messages

  • How to access ejb jar in ear package from other war web package?

    How to access ejb in jar packed in ear package from other war web package?

    Typically you would just look the EJB Home up in JNDI. If you're
    looking for example code, the medrec example in WLS 8.1 or petstore has
    plenty of webapps calling EJBs.
    -- Rob
    CottonXu wrote:
    How to access ejb in jar packed in ear package from other war web package?

  • Coldfusion 7.0 ear package running on websphere application server 6.1

    I try to run a coldfusion ear package on a webspehere 6.1
    application server. It all seems to install correct but when I try
    to open the specific url I get this error:
    Error 500: The Security service is not available.
    Does anyone know what is to be done here to get this ear file
    working.
    This ear file contains the complete coldfusion module as it
    seems and just a small simple script for testing reasons but it
    won't work.
    If anybody can help me with this it would be great.

    This would fall into the realm of anecdotal evidence.
    Business Objects XI 3.1 SP2 FP2.7
    Websphere Application Server 6.1 on Windows, have run environments with fix pack 19, fix pack 23, and fix pack 33 without Websphere related problems.  The list for supported Websphere platforms for Windows is the same as AIX.
    Now having said that, I would suspect that SAP does not test Business Objects with each of the available Websphere fix packs.

  • How to get a EAR package for deploying without local data-source setting in JDev9i?

    Hi all,
    I want to use pooled data-sources defined in OC4J's global configuration setting directory in JDEV_HOME\j2ee\home\config.
    But when I packaged my application to an EAR file,it contains it's local data-sources.xml file in the package.Each time the server was restared,the local data-sources.xml file was overwritten by the originally setting in the EAR package,thus I cannot use the pooled settings.
    So could let me know how to package a EAR file without containing it's local data-source setting,but use the global data-source setting?Or how to control the local data-source setting without changed after mannully defined.
    Your reply is greatly appreciated!
    Regards,
    Robbin Woo

    Mike,
    You don't need a File to do what you want. Even if you could, it would be wrong to use a file.
    It would be wrong, because the compiler might not by using a JavaFileManager that is actually backed by a filesystem. It could be backed by some form of repository such as a database, or it could be backed by a transient in memory file system ( An example of the latter is the [annotation processor test framework|https://hickory.dev.java.net/nonav/apidocs/index.html?net/java/dev/hickory/testing/package-summary.html] in hickory)
    But probably of more interest to you, you don't need to because you can simply [get an InputStream|http://java.sun.com/javase/6/docs/api/javax/tools/FileObject.html#openInputStream()] from the FileObject returned from [filer.getResource(...)|http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Filer.html#getResource(javax.tools.JavaFileManager.Location,%20java.lang.CharSequence,%20java.lang.CharSequence)] and read it.
    You might also find the [Compiler Tree API|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/index.html] useful. The Compiler Tree API is available to annotation processors running in Oracle's (Sun's) javac, but not in other compilers (possibly limiting portability).
    With this API you can [convert |http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/Trees.html#getPath(javax.lang.model.element.Element)] the Element representing the annotation to a Treepath then [get the leaf node|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/TreePath.html#getLeaf()] and from that tree [obtain its offsets|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/Trees.html#getSourcePositions()] within the source file.
    Bruce

  • Multiple EARs packaging the same resource adapter -- Weblogic Application S

    Hello,
    I had a question regarding JNDI and deploying multiple applications (EAR's) which package the same resource adapter running on Webloigc Application Server 9.1. I have an EAR file, ear1, which contains a resource adapter with connection factory with JNDI name say 'xyz' specified in the weblogic-ra.xml file. I have another EAR file, ear2, which again packages the same resource adapter with the same connection factory with JNDI name 'xyz'. Upon activating the 2nd EAR file, I get an exception 'javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.', as seen below:
    <May 8, 2006 10:29:27 AM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating distribute task for application 'JMS2JMS_eInsightweblogic2'.>
    <May 8, 2006 10:29:27 AM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: java.lang.AssertionError: Internal Error occurred, Assertion Failed: No Initial Context for Jndi: javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.
    at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:217)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
    Truncated. see log file for complete stacktrace
    javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.
    at weblogic.connector.outbound.RAOutboundManager.getConnectionFactory(RAOutboundManager.java:721)
    at weblogic.connector.deploy.JNDIHandler.getConnectionFactory(JNDIHandler.java:1017)
    at weblogic.connector.deploy.JNDIHandler.lookupObject(JNDIHandler.java:871)
    at weblogic.connector.deploy.JNDIHandler.getObjectInstance(JNDIHandler.java:845)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    Truncated. see log file for complete stacktrace
    It seems like the 2nd EAR is trying to go across and lookup the connection factory from the 1st EAR. Does weblogic bind the RA's connection factory jndi name in the global jndi and is not specific to each EAR? Is there some flag or switch I can turn on to make the JNDI specific to each EAR?
    My weblogic deployment descriptor for the ra looks like the following:
    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
    http://www.bea.com/ns/weblogic/90/weblogic-ra.xsd">
    <jndi-name>JMS2JMS_eInsightDeployment4_stcbpelra</jndi-name>
    <enable-access-outside-app>false</enable-access-outside-app>
    <enable-global-access-to-classes>false</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <connection-definition-group>
    <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
    <connection-instance>
              <b><jndi-name>BPELConnectionFactory</jndi-name></b>
              <connection-properties>
              <pool-params>
              <initial-capacity>0</initial-capacity>
              <max-capacity>10000</max-capacity>
              <capacity-increment>1</capacity-increment>
              <shrinking-enabled>true</shrinking-enabled>
              <shrink-frequency-seconds>60</shrink-frequency-seconds>
              <match-connections-supported>false</match-connections-supported>
              </pool-params>
              <properties>
                   <property>
                        <name>BPELConnectionFactory</name>
                        <value>BPELConnectionFactory</value>
                   </property>
              </properties>
              </connection-properties>
         </connection-instance>
    </connection-definition-group>
    </outbound-resource-adapter>
    </weblogic-connector>

    Thanks for the reply... in my case this would be done by the active synch process so no GUI form is required. I will be getting a list of application ID for the user by LDAP AS. One i get it i will have to parse it and get the list of application user id. I am passing those ID;s to a workflow where I am forming the resource name as you mentioned
    for example:
    If i get user1#user2#user3 from AS i am separating them based on # using split and getting 3 different user id;s
    now i am forming a string with the resource name and passing it to the sub process in which i am checking out the user object, setting the user attributes and checking in the new view.
    user1#LDAP
    user2#LDAP|1
    user3#LDAP|2
    Problem ; When i run this user1 is getting created in LDAP but user2 and user3 are not. There entry is getting created in IDM.
    When I open the IDM object I get a yellow triangle (warning) and if I open the user object and hit save button IDM creates the user account on the LDAP.
    any help for further solving this problem would be appreciated.
    Regards,

  • How to define my startup class in an .ear package?

    I am using WL6.0SP2 on solaris.
    I plan to package my application as an .ear file and to put all necesarry class
    files in there (it will has one .war file for the web tier and one .jar file for
    the EJBs).
    I want, when Weblogic loads my .ear file (i.e. my application), to execute my
    special startup class, which initializes some caches, etc.
    I do not want to define a startup/shutdown class in the console, because it is
    only specific to my application and this startup class is not present in the weblogic
    classpath during weblogic startup.
    The correct place should be in application.xml, but I don't see such thing in
    the DTD.
    Thank you,
    Ivaylo Zlatev

    There is no way to do this on the EAR level - you can use load-on-startup
    servlet(s) in your web component, or initial-beans-in-free-pool=1 EJB.
    Ivaylo Zlatev <[email protected]> wrote:
    I am using WL6.0SP2 on solaris.
    I plan to package my application as an .ear file and to put all necesarry class
    files in there (it will has one .war file for the web tier and one .jar file for
    the EJBs).
    I want, when Weblogic loads my .ear file (i.e. my application), to execute my
    special startup class, which initializes some caches, etc.
    I do not want to define a startup/shutdown class in the console, because it is
    only specific to my application and this startup class is not present in the weblogic
    classpath during weblogic startup.
    The correct place should be in application.xml, but I don't see such thing in
    the DTD.
    Thank you,
    Ivaylo Zlatev--
    Dimitri

  • How to get ear package name form a Stateless SB?

    Hi there,
    I deploy the same Timer based stateless session bean in the same EJB container. It is a mail relay EJB so I store pending mails in a JNDI Vector. I need to have different Vectors as I run several independent J2EE Apps in the container, so I want to give different JNDI names to each Vector.
    How can i know, from inside a Session Bean, which is the .ear file it was deployed from?
    Any other ideas on how to differenciate the same Session Bean deployed several times? (Without invoking a method from a client, of course)
    Thanks,
    Ignacio

    Hi Ignacio,
    EJB application code does not have access to meta-data about its own packaging structure.
    One way to solve your issue is to configure an env-entry containing your globally unique name.
    You can use the same source code for the bean, but have a different version of ejb-jar.xml for
    each incarnation of the timer bean.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Classpath problems in EAR packaging?

    I try to access an EJB from a JSP. The JSP resides in web.war and the bean is in ejb.jar, and both of these are packaged together in an ear.
    I get a compile error when I try opening a JSP. I've had this problem in all my attempts to use my bean classes from JSP.
    My browser reports that the compiler cannot find the beans package. I have servlets within the war-file that are able to find the beans package, but the JSPs aren't.
    My ear-file contains 3 files
    ejb.jar
    web.war
    META-INF\MANIFEST.MF
    The manifest classpath points to ejb.jar and web.war
    My guess is that this has something to do with the way this is deployed by GlassFish.
    The application is deployed in the
    domains\mydomain\applications\j2ee-apps\myear\
    This directory contains the expanded files:
    ejb_jar\
    web_war\
    META-INF
    So the Java classes under web_war\ are able to see the Java classes under ejb_jar\ (i.e. my servlets)
    However; when GlassFish creates Java files from the JSPs and then tries to compile them, these files are placed under
    domains\mydomain\generated\jsp\j2ee-apps\myear\web_war\org\apache\jsp\jsp
    This might be correct for all I know, but apparently the compiler is unable to find the Java classes located under the mydomain\applications\.. directory when compiling classes located under the mydomain\generated\.. directory. There are no other files from my ear anywhere in the "generated" directory.
    So to me this seems to be some kind of classpath problem, as the compiler cannot find the needed files.
    Does this make any sense to anyone?
    PS
    In my ear, the JSPs are placed in the web.war. The war file looks like this:
    jsp\
       myjsp.jsp
    META-INF
       MANIFEST.MF
    WEB-INF
       web.xml
       lib\
          mylib.jarThanks
    \\Marius

    Marius,
    If you want communicate the bean you have to do following things.
    . Create a factory for the correct protocol
    . Obtain a Home
    . Use the Home to create stubs to the remote object
    So you want to call the Home and Remote interfaces to access the bean. When you run the client program, it will create the remote object that time it has to search the Home and Remote interfaces. So you have included those files for references in following location
    WEB-INF/classes
         -- <Home Interface File Name>.class
         -- <Remote Interface File Name>.class
    Or
    WEB-INF/lib
         -- <Bean Jar file name>.jar
    I think you will understand.
    -Mani

  • EAR  Packaging - Utility package

    We have "utility" packages which we make use of both in Servlet and EJB development . When we create EAR file comprising of WAR and Ejb.jar file , do we need to include "utility" package in both WAR file and ejb.jar file? If no how do we package them.
    Nathan

    Thank you for the response and we need little more clasification.
    It is not clear how do we do that.Do you suggest create jar file comprising of 'utility' package and place them in "WEB-INFO\lib" folder.

  • EAR PACKAGE LOCAL BEAN

    Hi everybody,
    I would be really glad for some help.
    I have a servlet in a web app that tries to use a local stateless EJB 3 bean. I have packaged all it in a EAR created using eclipse. But it seems not to deploy well the EJB.
    Instead if I deployed this EJB by myself (as a jar) I see that things are ok in the jboss, but I cannot acces to it because is a local bean.
    Any suggestion will be nice.
    Thanks.

    Any suggestion will be nice.I would suggest that you remove the code that directly calls the EJB from the servlet. Implement a Business Delegate and have it call the EJB directly. Store a reference to the Business Delegate in HttpSession.
    Try to create the EAR without Eclipse. Deploy the EAR in JBoss without Eclipse.
    If you delploy the EJB (local bean) correctly in JBoss, you should be able to access it via JNDI tree of application server. It does not matter whether you use an EAR jar or and EJB jar. If you deploy the web application and the EJB application on the same node, they can communicate with each other using EJB local interfaces.

  • EAR Packaging with utility jars

    In my application , the EJB's as well as servlets user log4j.jar ( logging
    utility). I have included the log4j.jar in
    WEB-INF/classes folder of the war file. Do I have to include the log4j.jar
    in the ejb-jar file also ? Do I have
    to explode the log4j.jar in the ejb-jar file or simply including the
    log4j.jar in the ejb-jar will suffice.
    BTW , I am using Weblogic 6.0 SP2 .

    Support for bundled extensions is mandated by the J2EE spec (since 1.2 I think) :
    "The J2EE platform supports the use of bundled extensions as specified in
    Support for Extensions and Applications in Version 1.2 of the Java Platform
    (available at http://java.sun.com/products/jdk/1.2/docs/guide/
    extensions/spec.html)."
    Ramu <[email protected]> wrote:
    hi Dimitri,
    Could you please throw more light on Class-Path of the ejb jar manifest? OR
    just point me to the related documentation.
    thanks,
    -ramu
    "Dimitri Rakitine" <[email protected]> wrote in message
    news:[email protected]..
    Since EJB classloader is a parent of WAR classloader, you can include the
    log4j.jar in the Class-Path: of the ejb jar manifest.
    See
    http://www.onjava.com/pub/a/onjava/2001/06/26/ejb.html and
    http://www.onjava.com/pub/a/onjava/2001/07/25/ejb.html
    Manish Parikh <[email protected]> wrote:
    In my application , the EJB's as well as servlets user log4j.jar
    logging
    utility). I have included the log4j.jar in
    WEB-INF/classes folder of the war file. Do I have to include thelog4j.jar
    in the ejb-jar file also ? Do I have
    to explode the log4j.jar in the ejb-jar file or simply including the
    log4j.jar in the ejb-jar will suffice.
    BTW , I am using Weblogic 6.0 SP2 .--
    Dimitri
    Dimitri

  • EAR packaging

    Hi,
    I'm using J2EE SDK 1.2.1 (as ATG Dynamo application server does not support 1.3) and I'm having a problem with the deploytool.
    My bean code imports third-party (the Electric XML parser) classes -- electric.xml.* and electric.util.*, which are distributed in an EXML.jar file.
    When using the deploytool, and trying to create an EJB JAR inside an application, I get the following error message:
    "There was a problem obtaining the list of methods on CMASession.
    There may be a missing class?
    electric/xml/Document"
    I had already added EXML.jar to the application as a library JAR.
    Any ideas what this means? This did not appear as a problem when deploying under J2EE1.3...
    Thanks in advance.
    Regards,
    Chit-Kwan

    Additionally, I have added
    library\EXML.jar
    to my EJB's Manifest CLASSPATH...
    Thanks,
    Chit-Kwan

  • Help to solve problem with packaging log4j in a EAR file

    Hi All
    i struggle hard to create a EAR composed of EJB JARs and WARs and the programs
    in these JARs and WARs use log4j to log msg. Because i want all J2EE apps to have
    their own version of log4j library, i package log4j.jar in the EAR file. Below
    is my EAR package structure
    EJB1.jar
    EJB2.jar
    SharedUtilities.jar
    log4j.jar
    log4j.properties
    WEBAPP1.war
    WEBAPP2.war
    META-INF/manifest.mf
    For both EJB1.jar and EJB2.jar's META-INF/manifest.mf, there is a below entries
    Manifest-Version: 1.0
    Class-Path: SharedUtilities.jar log4j.jar
    However, my program always hit below runtime error.
    [java] Caused by: javax.ejb.TransactionRolledbackLocalException: EJB Exception:
    : java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
    But the program in EJB1.jar and EJB2.jar seem to have no such problem in loading
    classes in SharedUtilities.jar. The problem can be eliminated if i put log4j.jar
    at system classpath. Can anybody provide me with info on how to package a log4j
    library within a EAR package ?
    In addition, where should i put the log4j.properties so that it will be at search
    path of log4j and automatically loaded by log4j lib
    regards
    Danny

    Hi Slava Imeshev
    I am a bit confused about your reply. As said, the log4j.jar was packaged in my
    ear file. If the log4j.jar was not packaged in ear file, how come the ejb classloader
    can locate it.
    Secondly, if log4j.jar is included in system classpath, the ejb also can load
    log4j classes by system classloader. No "NoClassDeffound" exception is thrown.
    regards
    dso
    "Slava Imeshev" <[email protected]> wrote:
    "dso" <[email protected]> wrote in message
    news:[email protected]...
    Hi Slava Imeshev
    thanks for your response. I am a bit confused about your answer.
    i can't understand why u said the classloader COULD loadorg/apache/log4j/PropertyConfigurator.
    According to the error msg, it said
    " java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator".
    Seemingly,
    this class in log4j.jar could not be located. But as i said in lastquestion,
    i seemed to have properly
    edit the "META-INF/manifest.mf" in EJB1.jar and EJB2.jar to includelog4j.jar
    in "Class-path" attribute. And my EJB classes have no problem in loadingclasses
    in SharedUtilities.jar. Would u please elaborate on it in more details?
    Sure. NoClassDefFoundError means that a DEPENDING class
    can not be loaded. If the classloader were not able to load the class
    itself, it would give you ClassNotFoundException.
    Just make sure that you don't have the same packages in
    the ear and in the class path so that you don't have classes
    loaded by system classloader trying to load classes loaded
    by ejb classloaders.
    regards
    dso
    "Slava Imeshev" <[email protected]> wrote:
    First, this error means that classloader was able to load
    org/apache/log4j/PropertyConfigurator, but cold not load
    one of depending classes. I'd inspect the CLASSPATH
    to see if there are any log4 classes there.
    Second, you can package your log4.properties into
    log4.jar itself.
    Regards,
    Slava Imeshev
    "dso" <[email protected]> wrote in message
    news:[email protected]...
    Hi All
    i struggle hard to create a EAR composed of EJB JARs and WARs and
    the
    programs
    in these JARs and WARs use log4j to log msg. Because i want all
    J2EE
    apps
    to have
    their own version of log4j library, i package log4j.jar in the EARfile.
    Below
    is my EAR package structure
    EJB1.jar
    EJB2.jar
    SharedUtilities.jar
    log4j.jar
    log4j.properties
    WEBAPP1.war
    WEBAPP2.war
    META-INF/manifest.mf
    For both EJB1.jar and EJB2.jar's META-INF/manifest.mf, there is
    a below
    entries
    Manifest-Version: 1.0
    Class-Path: SharedUtilities.jar log4j.jar
    However, my program always hit below runtime error.
    [java] Caused by: javax.ejb.TransactionRolledbackLocalException:EJB
    Exception:
    : java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
    But the program in EJB1.jar and EJB2.jar seem to have no such problemin
    loading
    classes in SharedUtilities.jar. The problem can be eliminated if
    i
    put
    log4j.jar
    at system classpath. Can anybody provide me with info on how to
    package
    a
    log4j
    library within a EAR package ?
    In addition, where should i put the log4j.properties so that it
    will
    be at
    search
    path of log4j and automatically loaded by log4j lib
    regards
    Danny

  • EAR and long CLASSPATH at JSP compilation time

              Hi all,
              we have an EAR-packaged application with over 260 jars (mainly
              EJB) that is deployed to a managed server WL6.1SP3(AIX). Then
              we hit a JSP page of this app. and Weblogic generates the
              adecuate .java file that is passed as an argument to a forked
              process for the javac compiler with a CLASSPATH that is more
              than 22KB!! of length because of the EAR classloader schema
              (it must include all the jars of the EJB level).
              The problem is that the EAR deployment in WL6.1 generates a fixed and very long
              path for every jar that it is composed of:
              $WL_HOME/./config/DOMAIN/applications/.wl_notdelete_EARNAME
              /wlap#####/ejbjarname.jar
              and the invoke of the compiler fails with argument too long.
              We can control the EJB jar name, EARNAME, WL_HOME
              and DOMAIN to shorten the CLASSPATH, but that is not enough
              giving that the fixed part of the PATH is very long, for example:
              with DOMAIN=DOM1, WL_HOME=W, ejbjar name=EJB1, EARNAME=EAR1
              you get:
              /w/./config/DOM1/applications/.wl_notdelete_EAR1/wlap#####/EJB1.jar: that is
              68 chars * 260 jars = more than 17KB only with the
              EJB part of the CLASSPATH (plus the standard SYSTEM CLASSPATH
              and WARS CLASSPATH.)
              As workarounds we can:
              1.- Use an "pseudo exploded" EAR with EJBREMOTE and EJBHOME in clientclasses path
              with every jar and war by their own. Not very
              clean and we've lost the benefits of EAR deployment.
              2.- Consolidate a bunch of EJB in every jar. More administrative
              tasks (common xml descriptors:ejb-jar.xml,...) and less isolation
              between developer teams.
              3.- Consolidate at functionality level (source) a bunch of EJB
              in a few one. :(
              4.- Precompile every JSP outside of WEBLOGIC and generate
              the corresponding class and entries at web.xml and weblogic.xml
              5.- ...?
              or maybe:
              6.- configure this very long directory of deployment
              to a shorter deployer choosen and use relative paths.
              Is this possible? :)
              PacoG.
              

    You may try to use JSP compiler class. Please specify 'compilerclass'
              option in weblogic.xml. This option specifies name of a Java compiler
              that is executed in WebLogic Servers's virtual machine. (Used in place of
              an executable compiler such as javac or sj.)
              Please see
              http://e-docs.bea.com/wls/docs61/webapp/weblogic_xml.html#jsp-descriptor.
              Paco Garcia wrote:
              > oops!
              >
              > >$WL_HOME/./config/DOMAIN/applications/.wl_notdelete_EARNAME
              > >/wlap#####/ejbjarname.jar
              >
              > >with DOMAIN=DOM1, WL_HOME=W, ejbjar name=EJB1, EARNAME=EAR1
              > >you get:
              > >/w/./config/DOM1/applications/.wl_notdelete_EAR1/wlap#####/EJB1.jar:
              >
              > please read SERVERNAME instead of EARNAME
              >
              > PacoG.
              Regards,
              Ann
              Developer Relations Engineer
              BEA Support
              

  • Unable to load classes from jar files inside APP-INF/lib in EAR.

    Weblogic version: 10.3.3
    Platform: Linux x86-64 bit
    We deployed an ear packaged with all the common library jars inside APP-INF/lib. Deployment was successful.
    for some reason, it is always giving ClassNotFoundException for the classes inside the jars. This does not happen
    in 10.3.2 version of weblogic.
    We tried to add them to domain/lib directory (instead of APP-INF/lib) but still it is not able to resolve the classes.
    Any pointers would be appreciated.

    try using prefer-web-inf-classes in the weblogic.xml file in your WAR file
    or using prefer-application-packages in the weblogic-application.xml file in your EAR.

Maybe you are looking for

  • Swipe Gesture not working on MBP

    I have found since going to 10.5.7 on the MBP 15.4" (2008 unibody), that I can no longer do the three finger to the side swipe to get back/forward a webpage. Everything else like Expose works, just not that. Anyone else had the same issue ?

  • Using External Monitor as display, and laptop for keyboard and track pad

    Hi, I have an aluminum Powerboook that is about two years old and I have it attached to a Samsung Syncmaster 203B external monitor. I have been looking for a set of instructions so that I can set the displays (I have been scouting around the preferen

  • Retina macbook HDMI issues...

    Hi Ive recently bought a retina macbook and its  an outstanding piece of kit. Unfortunately I've come accross a little glitch with the HDMI port If i plug in my TV via hdmi, the connection temporarily cuts when I move the machine arround . Im just wo

  • Save Documents in the Hard Disk

    Good Morning, I wonder if it is possible to save existing files in SharePoint Server 2013 in a hard disk? imen

  • Oracle.xdo.XDOException: java.lang.reflect.InvocationTargetException BIP11g

    Hi, We uploaded our Datamodel(xdoz) and Reports(.xdmz) to another environment. we changed the datamodel path to point out new path in that environment. when we open the report, we are getting this error"oracle.xdo.XDOException: java.lang.reflect.Invo