Multiple ear files

Lately at work we have been having a lot of discussion on the pros and cons of having one ear file for multiple projects or breaking the model down into multiple ear files. Its basically a portal environment with a lot of different portlets as separate projects. WSAD is being used for development while the project is deployed on WAS. Rach portlet is a separate WAR file packaged into the same EAR file.
The topic of discussion is incase one of the WAR files is changed whether
1) We should have a new build for the whole ear file.
2) Just update the one war file in the ear file.
3) redesign the whole thing so that each portlet rather than having a separate war file should have a separate ear file.
It is with this in mind that I am asking you gurus of your opinions and preferences. In case you could point out to some useful links that would be welcome too. I am sure you people would put in your ideas and it would be a good learning exercise for me.
Thanks

The pro is an absence of cons. If you don't needa
bunch of EAR files, don't make a bunch of EARfiles.
That simplifies deployment, tracking, management,
etc.But exactly the same arguement exists the other way
around.
deployment:-
If you have to deploy one module you donot have to
regenerate the whole ear file rather just building
this one ear file would do.Not on my watch. If any code changes you need to run
the acceptance tests again for the whole shebang. I'd
want ant to figure out which components get rebuilt,
not a human.
tracking:-
Since you are in control of which modules aredeployed
and each module is deplyed separately so you donot
need to do the regression test each time there is a
deployment. And you donot need to test the
fuctionality of the rest of the modules.Being in control doesn't mean you shouldn't run the
acceptance tests.
management:-
in case a bug is found in one of the modules onlythat
module could be replaced with a previous buildrather
than losing the changes in the rest of the modules.But you have to regression test everything else to
make sure that bug fix didn't break something else, or
that the bug fix is applied to every component that
shares the same source code.
Strive for more testing instead of less.as per the def of an ear file
An EAR is a deployment contract. Each EAR should represent a complete application and should not rely on code external to the EAR file, except what is provided by the application server itself.
so we donot need to run tests for the rest of the ear files and thats one of the benefits but what are the drawbacks?

Similar Messages

  • Multiple EAR files in one single domain ?

    can i deploy multiple EAR files in single domain
    thanks,
    KM

    I'm not sure what a "domain" is in this context. I suppose it depends on the J2EE server you're using. Weblogic has something called a "domain", and sure in that server you can deploy multiple EARs in one domain, and there can be multiple domains.

  • Deploying ear file to multiple managed ervers

    What are the steps we need to follow to deploy an ear file to multiple managed
    servers.
    Is there a separate method for deploying ear file to managed servers.
    Do we need to setup classpath / StartupClass for the managed servers?
    Anyone knows this ?

    Hi Venky,
    you can deploy the application from the console, r the managed servers in clustered environment?
    btw what version of weblogic r u using?
    thanks
    Mir

  • Session sharing among multiple WAR files inside an EAR file

    Hi all,
    Is there a way where I can share my session object among multiple WAR files which are inside an EAR file?
    Please suggest.

    r035198x wrote:
    Some application servers (like Weblogic) allow to configure session sharing when you deploy the application.Sidenote: which is completely against the servlet spec.

  • Multiple war file in single ear in ATG10.1.1 with JBoss

    Hi All,
    Is it possible to have multiple war files in single ear in ATG? I tried to deploy one but got some errors when. I tried this so that I can have a new site without altering existing crs.
    I have an ATG10.1.1 instance (Windows 7, JBoss-eap-5.1, Oracle 11gR2) with crs installed and running.
    I am not sure whether its a good practice or not. Please correct me if I am going wrong
    Here is the steps that I have done.
    1. Created new war file in CommerceReferenceStore (Copied existing store.war and renamed it to sample.war)
    <ATG_DIR>/CommerceReferenceStore/Store/Storefront/j2ee-apps/Storefront/store.war to <ATG_DIR>/CommerceReferenceStore/Store/Storefront/j2ee-pps/Storefront/sample.war
    then,
    a) Edited sample.war/WEB-INF/web.xml to add new context root.
    <context-param>
    <param-name>context-root</param-name>
    <param-value>sample</param-value>
    </context-param>
    b) Edited sample.war/META-INF/MANIFEST.MF
         Manifest-Version: 1.0
         ATG-Module-Uri: sample.war
         ATG-Context-Root: sample
    2. Edited <ATG_DIR>/CommerceReferenceStore/Store/Storefront/j2ee-apps/Storefront/META-INF/application.xml
    Added new web module
    <web>
    <web-uri>
    sample.war
    </web-uri>
    <context-root>
    sample
    </context-root>
    </web>
    3. Modified <ATG_DIR>/CommerceReferenceStore/Store/Storefront/META-INF/MANIFEST.MF to add new web module
    ATG-Web-Module: j2ee-apps/Storefront/store.war j2ee-apps/Storefront/sample.war j2ee-apps/Storefront/storedocroot.war
    j2ee-apps/Storefront/assemblerSearchResultsSample.war
    4. Deployed using cim
    From CIM, selected [3] Application Assembly & Deployment
    Entered ear file name - ATGProduction.ear
    Then select server instance - ATGProduction
    Select JBoss Server to use - ATGProduction
    [D] Deploy Production with a Server Lock Manager ATGProduction.ear to JBoss
    - Done
    [R] Register Datasources on JBoss - Done
    [A] Add database driver to app server classpath - Done
    [P] Post Deployment Actions on JBoss - Done
    And restarted server.
    When I tried to access crs/storeus, I got following error
    18:50:36,060 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1258
    at java.lang.String.<init>(String.java:207)
    at atg.adc.ADCPrintWriter.write(ADCPrintWriter.java:208)
    at atg.adc.ADCPrintWriter.write(ADCPrintWriter.java:188)
    at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:119)
    at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:180)
    at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
    at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
    at org.apache.jsp.includes.pageStart_jsp._jspService(pageStart_jsp.java:135)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:543)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)
    at atg.servlet.WrappingRequestDispatcher.include(WrappingRequestDispatcher.java:116)
    at atg.taglib.dspjsp.IncludeTag.doEndTag(IncludeTag.java:835)
    at org.apache.jsp.tag.web.store.pageContainer_tag._jspx_meth_dsp_005finclude_005f0(pageContainer_tag.java:1119)
    at org.apache.jsp.tag.web.store.pageContainer_tag.doTag(pageContainer_tag.java:548)
    at org.apache.jsp.index_jsp._jspx_meth_crs_005fpageContainer_005f0(index_jsp.java:484)
    at org.apache.jsp.index_jsp._jspx_meth_dsp_005fpage_005f1(index_jsp.java:450)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:117)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:277)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.servlet.ForwardFilter.doFilter(ForwardFilter.java:263)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
    at atg.servlet.ContextRootSwappingInterceptor.interceptRequest(ContextRootSwappingInterceptor.java:318)
    at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:185)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:275)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.endeca.assembler.AssemblerPipelineServlet.service(AssemblerPipelineServlet.java:387)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:119)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:378)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:228)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:657)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:150)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:213)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:696)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2447)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.search.servlet.SearchClickThroughServlet.service(SearchClickThroughServlet.java:418)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteSessionEventTriggerPipelineServlet.service(SiteSessionEventTriggerPipelineServlet.java:161)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:512)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:230)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:460)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.projects.store.servlet.pipeline.ProtocolSwitchServlet.service(ProtocolSwitchServlet.java:309)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:491)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.URLArgumentPipelineServlet.service(URLArgumentPipelineServlet.java:302)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:392)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:113)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:234)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:405)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1271)
    at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:952)
    at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:272)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:349)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
    at java.lang.Thread.run(Thread.java:662)
    18:50:36,122 ERROR [DynamoServlet]
    CAUGHT AT:
    CONTAINER:atg.servlet.jsp.ContainerJspException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1258; SOURCE:org.apache.jasper
    .JasperException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1258
    at atg.taglib.dspjsp.IncludeTag.doEndTag(IncludeTag.java:841)
    at org.apache.jsp.tag.web.store.pageContainer_tag._jspx_meth_dsp_005finclude_005f0(pageContainer_tag.java:1119)
    at org.apache.jsp.tag.web.store.pageContainer_tag.doTag(pageContainer_tag.java:548)
    at org.apache.jsp.index_jsp._jspx_meth_crs_005fpageContainer_005f0(index_jsp.java:484)
    at org.apache.jsp.index_jsp._jspx_meth_dsp_005fpage_005f1(index_jsp.java:450)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:117)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:277)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.servlet.ForwardFilter.doFilter(ForwardFilter.java:263)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
    at atg.servlet.ContextRootSwappingInterceptor.interceptRequest(ContextRootSwappingInterceptor.java:318)
    at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:185)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:275)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.endeca.assembler.AssemblerPipelineServlet.service(AssemblerPipelineServlet.java:387)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:119)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:378)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:228)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:657)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:150)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:213)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:696)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2447)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.search.servlet.SearchClickThroughServlet.service(SearchClickThroughServlet.java:418)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteSessionEventTriggerPipelineServlet.service(SiteSessionEventTriggerPipelineServlet.java:161)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:512)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:230)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:460)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.projects.store.servlet.pipeline.ProtocolSwitchServlet.service(ProtocolSwitchServlet.java:309)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:491)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.URLArgumentPipelineServlet.service(URLArgumentPipelineServlet.java:302)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:392)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:113)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:234)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:405)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1271)
    at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:952)
    at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:272)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:349)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
    at java.lang.Thread.run(Thread.java:662)
    Thank you,

    Hi,
    This is not an issue caused by having multiple wars inside same ear.
    This looks like a runtime exception when trying to render the jsp (The jsp is compiled to a sevlet and the inside the service method of the servlet you are getting this exception). Double check you jsp for the possible cause of this exception.
    Thanks,
    Gopinath Ramasamy

  • Sharing static files across multiple WAR files in a single EAR

     

    Is there also a way to share the Session across multiple WARs in the
    same EAR ??
    TIA
    Nikhil.
    Vinod Mehra wrote:
    Yes, we have Virtual Directories for this in 7.0.
    http://edocs.bea.com/wls/docs70/webapp/weblogic_xml.html#1031951
    --Vinod.
    "Sam Smith" <[email protected]> wrote in message
    news:3d3f47cf$[email protected]..
    Hi,
    I have multiple web apps to be deployed to an intranet. I need to have acommon
    look and feel for these multiple webapps.
    I could place the webapps in a single ear file or deploy them without aear file.
    I wanted to know if there is any standard way to include static files likeimages,
    javascripts and css files (for a common look and feel) across multiple warfiles.
    Right now I am planning to keep a war file which just contains all thestatic
    files and point all the jsp pages in the other apps to the static files inthis
    common app. Is there a better way to go about this.
    Thanks,
    Sam

  • 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,

  • Errror while deploying ear file into sapwas

    Hi all,
    I am getting following error while deploying the ear file into sap web application server during the migration of j2ee medRec application into sapwas.
    06/02/22 10:46:21 -  ***********************************************************
    Feb 22, 2006 10:46:21... Info: End of log messages of the target system.
    Feb 22, 2006 10:46:21... Info: ***** End of SAP J2EE Engine Deployment (J2EE Application) *****
    Feb 22, 2006 10:46:21... Error: Aborted: development component 'Medical Records Patient Application'/'sap.com'/'localhost'/'2006.02.22.10.44.55':
    Caught exception during application deployment from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Cannot deploy application sap.com/Medical Records Patient Application..
    Reason: Incorrect multiplicity value: one. Use One or Many.; nested exception is:
         com.sap.engine.services.ejb.exceptions.deployment.EJBXMLParserException: Incorrect multiplicity value: one. Use One or Many.
    (message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
    Feb 22, 2006 10:46:22... Info: J2EE Engine is in same state (online/offline) as it has been before this deployment process.
    Feb 22, 2006 10:46:22... Error: -
    At least one of the Deployments failed -
    Thanks
    Neeta Verma

    Hi,
    Check in the corresponding applcation.xml for entries
    like <multiplicity>one</multiplicity>, <multiplicity>many</multiplicity> and replace them with <multiplicity>One</multiplicity> ,
    <multiplicity>Many</multiplicity> respectively.
    Regards,
    Prasita

  • How to deploy EAR file in Tomcat?

    Is we can deploy ear file in tomcat?
    Normally we can deploy WAR file in tomcat webapps folder. When we run the tomat it will automatically extract the war file.
    But samethink I have tried EAR file. But it is not working.
    Is we can deploy EAR file or not?
    If not plz give reason.

    Hi
    Normally we can deploy the war file thats routene stuff ofcourse ..........but when u deploy ear file it will give problmes as ear structure and war structure are differeant
    The Tomcat Servlet/JSP Container      
    The Apache Tomcat 5.5 Servlet/JSP Container
         Apache Logo
    Links
    * Docs Home
    Contents
    * Contents
    * Introduction
    * Installation
    * Deployment
    * Source Code
    * Processes
    * Example App
    Application Developer's Guide
    Deployment
         Printer Friendly Version
    print-friendly
    version
    Background
    Before describing how to organize your source code directories, it is useful to examine the runtime organization of a web application. Prior to the Servlet API Specification, version 2.2, there was little consistency between server platforms. However, servers that conform to the 2.2 (or later) specification are required to accept a Web Application Archive in a standard format, which is discussed further below.
    A web application is defined as a hierarchy of directories and files in a standard layout. Such a hierarchy can be accessed in its "unpacked" form, where each directory and file exists in the filesystem separately, or in a "packed" form known as a Web ARchive, or WAR file. The former format is more useful during development, while the latter is used when you distribute your application to be installed.
    The top-level directory of your web application hierarchy is also the document root of your application. Here, you will place the HTML files and JSP pages that comprise your application's user interface. When the system administrator deploys your application into a particular server, he or she assigns a context path to your application (a later section of this manual describes deployment on Tomcat). Thus, if the system administrator assigns your application to the context path /catalog, then a request URI referring to /catalog/index.html will retrieve the index.html file from your document root.
    Standard Directory Layout
    To facilitate creation of a Web Application Archive file in the required format, it is convenient to arrange the "executable" files of your web application (that is, the files that Tomcat actually uses when executing your app) in the same organization as required by the WAR format itself. To do this, you will end up with the following contents in your application's "document root" directory:
    * *.html, *.jsp, etc. - The HTML and JSP pages, along with other files that must be visible to the client browser (such as JavaScript, stylesheet files, and images) for your application. In larger applications you may choose to divide these files into a subdirectory hierarchy, but for smaller apps, it is generally much simpler to maintain only a single directory for these files.
    * /WEB-INF/web.xml - The Web Application Deployment Descriptor for your application. This is an XML file describing the servlets and other components that make up your application, along with any initialization parameters and container-managed security constraints that you want the server to enforce for you. This file is discussed in more detail in the following subsection.
    * /WEB-INF/classes/ - This directory contains any Java class files (and associated resources) required for your application, including both servlet and non-servlet classes, that are not combined into JAR files. If your classes are organized into Java packages, you must reflect this in the directory hierarchy under /WEB-INF/classes/. For example, a Java class named com.mycompany.mypackage.MyServlet would need to be stored in a file named /WEB-INF/classes/com/mycompany/mypackage/MyServlet.class.
    * /WEB-INF/lib/ - This directory contains JAR files that contain Java class files (and associated resources) required for your application, such as third party class libraries or JDBC drivers.
    When you install an application into Tomcat (or any other 2.2/2.3-compatible server), the classes in the WEB-INF/classes/ directory, as well as all classes in JAR files found in the WEB-INF/lib/ directory, are made visible to other classes within your particular web application. Thus, if you include all of the required library classes in one of these places (be sure to check licenses for redistribution rights for any third party libraries you utilize), you will simplify the installation of your web application -- no adjustment to the system class path (or installation of global library files in your server) will be necessary.
    Much of this information was extracted from Chapter 9 of the Servlet API Specification, version 2.3, which you should consult for more details.
    Shared Library Files
    Like most servlet containers, Tomcat 5 also supports mechanisms to install library JAR files (or unpacked classes) once, and make them visible to all installed web applications (without having to be included inside the web application itself. The details of how Tomcat locates and shares such classes are described in the Class Loader HOW-TO documentation. For the purposes of our discussion, there are two locations that are commonly used within a Tomcat 5 installation for shared code:
    * $CATALINA_HOME/common/lib - JAR files placed here are visible both to web applications and internal Tomcat code. This is a good place to put JDBC drivers that are required for both your application and internal Tomcat use (such as for a JDBCRealm).
    * $CATALINA_BASE/shared/lib - JAR files placed here are visible to all web applications, but not to internal Tomcat code. This is the right place for shared libraries that are specific to your application.
    Out of the box, a standard Tomcat 5 installation includes a variety of pre-installed shared library files, including:
    * The Servlet 2.4 and JSP 2.0 APIs that are fundamental to writing servlets and JavaServer Pages.
    * An XML Parser compliant with the JAXP (version 1.2) APIs, so your application can perform DOM-based or SAX-based processing of XML documents.
    Web Application Deployment Descriptor
    The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
    As mentioned above, the /WEB-INF/web.xml file contains the Web Application Deployment Descriptor for your application. As the filename extension implies, this file is an XML document, and defines everything about your application that a server needs to know (except the context path, which is assigned by the system administrator when the application is deployed).
    The complete syntax and semantics for the deployment descriptor is defined in Chapter 13 of the Servlet API Specification, version 2.3. Over time, it is expected that development tools will be provided that create and edit the deployment descriptor for you. In the meantime, to provide a starting point, a basic web.xml file is provided. This file includes comments that describe the purpose of each included element.
    NOTE - The Servlet Specification includes a Document Type Descriptor (DTD) for the web application deployment descriptor, and Tomcat 5 enforces the rules defined here when processing your application's /WEB-INF/web.xml file. In particular, you must enter your descriptor elements (such as <filter>, <servlet>, and <servlet-mapping> in the order defined by the DTD (see Section 13.3).
    Tomcat Context Descriptor
    The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
    A /META-INF/context.xml file can be used to define Tomcat specific configuration options, such as loggers, data sources, session manager configuration and more. This XML file must contain one Context element, which will be considered as if it was the child of the Host element corresponding to the Host to which the The Tomcat configuration documentation contains information on the Context element.
    Deployment With Tomcat 5
    In order to be executed, a web application must be deployed on a servlet container. This is true even during development. We will describe using Tomcat 5 to provide the execution environment. A web application can be deployed in Tomcat by one of the following approaches:
    * Copy unpacked directory hierarchy into a subdirectory in directory $CATALINA_HOME/webapps/. Tomcat will assign a context path to your application based on the subdirectory name you choose. We will use this technique in the build.xml file that we construct, because it is the quickest and easiest approach during development. Be sure to restart Tomcat after installing or updating your application.
    * Copy the web application archive file into directory $CATALINA_HOME/webapps/. When Tomcat is started, it will automatically expand the web application archive file into its unpacked form, and execute the application that way. This approach would typically be used to install an additional application, provided by a third party vendor or by your internal development staff, into an existing Tomcat installation. NOTE - If you use this approach, and wish to update your application later, you must both replace the web application archive file AND delete the expanded directory that Tomcat created, and then restart Tomcat, in order to reflect your changes.
    * Use the Tomcat 5 "Manager" web application to deploy and undeploy web applications. Tomcat 5 includes a web application, deployed by default on context path /manager, that allows you to deploy and undeploy applications on a running Tomcat server without restarting it. See the administrator documentation (TODO: hyperlink) for more information on using the Manager web application.
    * Use "Manager" Ant Tasks In Your Build Script. Tomcat 5 includes a set of custom task definitions for the Ant build tool that allow you to automate the execution of commands to the "Manager" web application. These tasks are used in the Tomcat deployer.
    * Use the Tomcat Deployer. Tomcat 5 includes a packaged tool bundling the Ant tasks, and can be used to automatically precompile JSPs which are part of the web application before deployment to the server.
    Deploying your app on other servlet containers will be specific to each container, but all containers compatible with the Servlet API Specification (version 2.2 or later) are required to accept a web application archive file. Note that other containers are NOT required to accept an unpacked directory structure (as Tomcat does), or to provide mechanisms for shared library files, but these features are commonly available.
    Copyright © 1999-2006, Apache Software Foundation

  • Accessing EAR file or its contents in an Oracle App Server

    We deploy a single ear file on multiple servers (test, user acceptance, production) and would like to, at start up, read every .JSP file in that ear looking for certain tags. It is no problem in dev to walk the directory structure to read the JSPs, but this is before they are all packaged into an ear file.
    Can I reliably locate the ear at runtime and open it to traverse its contents? Or, are the JSP extracted to a searchable location?
    Thank you very much,
    Dave

    Ear are extrated into, *$OH/j2ee/containername/applications/app_name/app_name/...* as well, into the first app_name foler, you may see the ear file that was uploaded in this place.
    Greetings

  • How to handlle multiple ear and common database.

    Hi Friends,
    Need urgent help.
    I working on a project where there will be multiple ear ,each for one application.
    There are 4 project and 4 ears and one common util war file which will be shared by all ears.
    Problem is : 3 of the projects will use same database tables. I am using hibernate ORM mapping for database table.
    Q1. In the above scenario db access table are 90% common in 3 projects. Should I go for instead of 3 ears club into 1 EAR and current 3 project as a 3 module in 1 club ear or per project one ear?
    Pls suggest me the approach and advantage and disadvantages of the approach.
    Q2 : Should I put the data-beans and table mapping files (e.g account.hbn.xml) & hibenate.cfg.xml file in common war(centralized or shared) or replicate the copies of all beans mapping xml and beans classes in every ear.
    If you suggesting to use the centralized/shared data configuration approach then how EAR 's jvms will handle Transaction for every ear.
    I am using Websphere app server6.1, hibernate3 and db2 8.0
    Waiting for your interesting replies.
    Thanking you in advance.
    Navin.

    How are you going to handle upgrades if a database change is needed?
    If it is per application then you need to keep the code by app. If across applications then you need to keep the code separate.

  • Sharing common libraries and ejbs between multiple ears

    Hi
    I have been going through various articles at O'Reilly and discussions at serverside
    (some outdated) on the packaging options in J2EE.
    http://www.onjava.com/pub/a/onjava/2001/06/26/ejb.html?page=2
    http://www.onjava.com/pub/a/onjava/2001/07/25/ejb.html
    http://www2.theserverside.com/home/thread.jsp?thread_id=7530
    I am still undecided as to what is the best way to package and deploy
    - a set of EJBs (Stateless Session beans) and
    - utility libraries
    that need to be shared by multiple ears.
    We have a set of components - 4 session ejbs and 15 utility classes like log4java,
    xerces, custom utilities etc... which need to be shared by all applications running
    on the server (in a clustered environment).
    There are over 22 applications and these will be packaged in individual ear files.
    If we choose to put the common EJBs and utilities in each of the application's
    ear, then for every change to this common library all the applications will need
    to be repackaged and redeployed, which obviously is not desirable.
    If we choose to use the 'Class-Path' option in manifest file, from what I understand
    the path to be specified is a relative path within the ear i.e. the path cannot
    point to archives outside the .ear file, which does not serve our purpose. Am
    I right in this understanding?
    What is the best way to package and deploy these common components under these
    circumstances?
    Has anybody tried something like this before?
    Would appreciate your comments on this.
    Thank you.

    "Kumar" <[email protected]> wrote in message
    news:[email protected]...
    In My opinion,
    I would be packaging the all utilities into a single jar file and be using
    in the application server class path directly. whenever I want to change
    this jar file I can change at one shot and package this jar file and keepit
    in the classpath again. This works very well, if and only if each EAR file
    is not using its own version of a libary of utility jar file. All earfiles
    should be using a single and common library.In this case when you update the .jar file, you would have to restart the
    server. I am not aware of any good solution which alleviates this.
    >
    If I include this utility jar file into all ear files, the following arethe
    difficulties we need to handle in the future.
    - What if utility library has been changed frequently, it leads to
    re-package all .ears and re-deployment
    - Unnecessarily adding a copy of a single jar file to all ear files,
    increases complexity
    - Any new application needed to be deployed, again which uses utility, we
    need add the utility jar file to ear file
    - There is no logical separation and simplicity
    Thanks
    Kumar
    "Kiran P" <[email protected]> wrote in message
    news:[email protected]...
    Hi
    I have been going through various articles at O'Reilly and discussions
    at
    serverside
    (some outdated) on the packaging options in J2EE.
    http://www.onjava.com/pub/a/onjava/2001/06/26/ejb.html?page=2
    http://www.onjava.com/pub/a/onjava/2001/07/25/ejb.html
    http://www2.theserverside.com/home/thread.jsp?thread_id=7530
    I am still undecided as to what is the best way to package and deploy
    - a set of EJBs (Stateless Session beans) and
    - utility libraries
    that need to be shared by multiple ears.
    We have a set of components - 4 session ejbs and 15 utility classes likelog4java,
    xerces, custom utilities etc... which need to be shared by allapplications running
    on the server (in a clustered environment).
    There are over 22 applications and these will be packaged in individualear files.
    If we choose to put the common EJBs and utilities in each of theapplication's
    ear, then for every change to this common library all the applicationswill need
    to be repackaged and redeployed, which obviously is not desirable.
    If we choose to use the 'Class-Path' option in manifest file, from what
    I
    understand
    the path to be specified is a relative path within the ear i.e. the pathcannot
    point to archives outside the .ear file, which does not serve our
    purpose.
    Am
    I right in this understanding?
    What is the best way to package and deploy these common components underthese
    circumstances?
    Has anybody tried something like this before?
    Would appreciate your comments on this.
    Thank you.

  • SCA from an EAR file

    Hello!
    I have a simple question about the sapmake utility. I have used to create an SCA from various archives and am familiar with its workings.
    What I want to know is that is it possible to create an SCA from an EAR file. I have created an SCA from an EPA and an EAR file but I want to create an SCA from an EAR.
    Theoritically this should be possible because an EAR is considered to be an SDA. Since an SCA is used to pack multiple or a single SDA(s), it should be possible to create a valid SCA out of an EAR.
    But when I tried it, the SCA build process went perfectly and I did get an SCA. The JSPM however, does not recognize this SCA at all! It says the inbox is completely empty. However, when I pack in the EAR with an EPA coverted to SDA and create an SCA, this SCA is immediately recognised.
    So why cant I create a valid SCA from only an EAR file?
    Thanks for looking into it!
    Sameer

    Hello Praveen!
    The EAR file is considered to be an SDA by NetWeaver. This is the reason that you can add an EAR file when deploying from the SDM tool even though the button in the deployment says "Add SDA/SCA for deployment".
    Bye!
    Sameer.
    P.S - Here is the link to one weblog which explains it - <u>Software Deployment/Component Archive Basics>.
    Added the link.
    Message was edited by:
            Sameer Jagirdar

  • Using common jars containing EJBs in multiple ears

    I was wondering if there was an easy way to have references to jars that is contained in one ear in another ear. The main question is that if we have some EJBs that are commonly used in multiple ears then is there a way to have those common EJBs in a single ear and have the other ears that need these EJBs reference them in some way without having to copy them into those ears? Thanks ahead of time

    If you think about it carefully, one .ear file represents one enterprise application. In other words, a .ear file represents a packaged unit that must be deployable by itself.
    If one desires to use some reusable business component in one's enterprise application, all dependencies that that component might be having will need to be included in the deployable unit, i.e. the .ear file, for that application.
    On similar lines, the following is an extract from the Enterprise JavaBeans specification 1.1 (pay particular attention to the first paragraph therein)...
    The ejb-jar file must also contain the class files for all the classes and interfaces that the enterprise bean
    class, and the remote and home interfaces depend on. This includes their superclasses and superinter-faces,
    and the classes and interfaces used as method parameters, results, and exceptions.
    An ejb-jar file does not have to include the class files of the home and remote interfaces of an enterprise
    bean that is referenced by an enterprise bean in the ejb-jar, or other classes needed by the referenced
    enterprise bean, if the referenced enterprise bean or needed classes are defined in another jar file that is
    named in the Class-Path attribute in the Manifest file of the referencing ejb-jar file, or the transitive clo-sure
    of such Class-Path references. Note that this Class-Path mechanism only works with JDK 1.2 and
    later.
    You can extrapolate a similar notion for enterprise archives also.
    I guess, the simplest way to put this is, when deploying one application one cannot assume the existence of another application.

  • WebLogic 10.3 , ear file, application.xml only finds first context root

    I just can't find out what this is. I have two web service projects (JAX-WS) and am trying to put them in an .ear file to deploy to WebLogic 10. Normally, this is done by creating an .ear with both projects .war files in it and an application.xml file in the META-INF directory that defines the context-root for each .war file. However, nothing I do for WebLogic 10 seems to work, it only see's the first context-root and sets that same context-root for both web services. I have verified this by switching the order in the application.xml file. Also, this exact same .ear file deploys to the Sun Enterprise Server (Glassfish) and acts correctly. Using a weblogic.xml file in each .war and deploying them individually they end up having the correct context root, just not from an .ear using application.xml. I even tried deleting the application.xml file and just having the weblogic.xml files in each .war define the context root and it still only came up with one context root for both. It's as if only one context root is allowed in an .ear for WebLogic 10, which can't be correct as we are doing this on WebLogic 9.2 (JAX-RPC) with multiple .war files in an ear.

    Hi,
    Try to increase severity of the server logging to avoid more logging.
    Avoid Debugs and and info and better select the severity to notice which will avoid more logging.
    Regards,
    Kal

Maybe you are looking for

  • How do I connect an Epson stylus SX235W to my iPad

    I can connect to my laptop but cant get my iPod to connect with the Epson stylus SX235W to my iPad any help would be appreciated, I am a very new user with little IT experience

  • Does Sonnet Express Card 34 eSata Work with Lion?

    I am looking to see if the Sonnet Express Card 34 eSata  works with Lion OS

  • Can't retrieve back a podcasting

    I have a question. I have been using itunes for downloading podcasts for quite some time now, and I have noticed the following thing happening: Whenever a podcasting starts to get downloaded, and I interrupt it for whatever reason, either it gets rem

  • Find a specific paragraph style within a table and apply a specific cell style?

    I'm a total beginner when it comes to scripting, but I would like to create a script that finds the paragraph style "resultsUL" within a large table and applies the cell style "female". Sure wish the find/replace was able to account for cell styles a

  • InDesign and EPUB

    I'm interested in publishing my photography books - which I currently self publish using blurb - using the epub format for electronic distribution. The trick here is that these are primarily photo books, with little text. Is InDesign the right tool t