Utilizing EJB Environment Entries in different runtime env

Hello
We are in the process of moving to the NWDI environment.
Most of our EJBs are using the EJB Environment Entries (defined in the deployment descriptors)
Some of those EJBs rely on the fact that the same property will have different values in different runtime environments.
I have noticed that during the import process (from one env to another) done by the CMS there is no option to change those environment varialbles.
I have also noticed that there is no option to change the values of those environment entries during runtime in the SAPJ2EE 6.40 (that option existed in SAPJ2EE 6.20)
I just need to get an official answer;
Is there no way to control the values of the environment entries during deployment with NWDI?
Do we have to change our code (that relied on J2EE standards) so it does not expect different values in different runtime environments?
I have an open CSN about this, but no answer there yet...
<a href="https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/main.do?event=LOAD&smpsrv=h">CSN 0120025231 0001708443 2005</a>

hi
I have the same problem describewd in this <a href="https://www.sdn.sap.com/irj/sdn/thread?threadID=45460">SDN thread</a>
to save you the time, it says that You must add the declaration within the sda-dd.xml
<substitution-variable>
<variable-name>com.vendor.yourVarName</variable-name>
</substitution-variable>
Note that if you write a Server library this file is displayed by the NWDS
However, if you are using a J2EE application module, this file is generated during the build and stored into the ear.
if you try using a substitution variable in your deployment descriptor without specifying it in the sda-dd.xml you get a deployment error -
com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable
(see full log message below)
As a workaround, I edited the sda-dd.xml after the EAR was generated (added the required entry), repacked it and deployed it.
Then it worked.
The problem is, if I use NWDI, I CANNOT edit the EAR that gets generated!
any idea of how to solve this?
<u>full log message of deployment error</u>
02/01/2006 13:58:13 /userOut/deploy (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy Thread,5,main]] ERROR:
[001]Deployment aborted
Settings
SDM host : zaksrv2
SDM port : 50018
URL to deploy : file:/C:/DOCUME1/zak/LOCALS1/Temp/temp19284checkpoint.comtimeofftest5substear.ear
Result
=> deployment aborted : file:/C:/DOCUME1/zak/LOCALS1/Temp/temp19284checkpoint.comtimeofftest5substear.ear
Aborted: development component 'timeoff/test5/subst/ear'/'checkpoint.com'/'DEV_TIMEOFF6_D'/'20060102135547':
Caught exception during application deployment from SAP J2EE Engine's deploy API:
com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable [com.cp.sapGRP].
(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).DMEXC)
Deployment exception : The deployment of at least one item aborted

Similar Messages

  • How to add environment entry in EJB3 ejb-jar.xml

    Hi,
    Is that a build in way of add environment entries in JDev for EJB 3 beans? For EJB 2 beans you can do that using properties. But the bean properties is not available in EJB 3. Please help.
    Thanks
    Kenny

    Thank you for the reply. But I need a way to enter env-entry value in ejb-jar.xml for EJB 3 in Jdev. In EJB 2, Jdev generate ejb-jar.xml for the bean and also let you add env-entry through bean's properties menu. But in there in no properties menu for EJB 3, also generated ejb-jar.xml is only a empty file doesn't contain any EJB depolyment information. That means you have to code ejb-jar.xml all manually.
    If I am wrong, can someone show me how to do this right?

  • Admin UI for editing environment entries (i.e. env-entry in web.xml)

    Hi there,
    just wanted to know if Weblogic nowadays features a UI for post-deployment editing of environment entries such as the ones declared via <env-entry> in web.xml ( [http://download.oracle.com/docs/cd/E21764_01/web.1111/e13712/web_xml.htm#autoId30] ). So far, I'm using a deployment plan to re-configure these things at the time of each deployment, which works but which is also probably not the most flexible solution.
    Thanks in advance,
    Chris

    Ah, I was trying to do a lookup from session bean for the env-entry defined in
    the web.xml. After reading the J2EE spec, I see this just won't work. env-entries
    are only accessible from within the component where they are defined.
    Still the error message with "comp.env" instead of the expected "comp/env" is
    a bit confusing.
    Not much traffic in this newsgroup, is there?
    Steve
    "Steve Ditlinger" <[email protected]> wrote:
    >
    >
    >
    If I create an "env-entry" block for a name (e.g. "MySchemaName") in
    my web.xml
    file and deploy the web app, I should be able to look up the name from
    my webapp
    with the line:
    <br>
    myInitialContext.lookup("java:comp/env/MySchemaName");
    <br>
    However when I do that I get the error message:
    <br>
    javax.naming.NameNotFoundException: Unable to resolve 'java:comp.env/MySchemaName'
    <br>
    Note that the "comp/env" prefix has been changed to "comp.env". This
    worked under
    WL 6.1. Is this a bug in WL 7's JNDI or a bug in the error message or
    both or
    something else altogether?
    The immediately previous line successfully performs an EJBHome lookup
    using the
    same Initial Context object. The main difference is that the EJBHome
    name is defined
    thru the EJB deployment descriptors, not the web.xml.
    Thanks,
    Steve

  • Global Application Environment Entries

    In declaring environment entries, is there a way to declare one that is global
    to all the beans in an application?.. Currently, I'm declaring them as follows:
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>LMRPackageBQEJB</ejb-name>
    <home>LMRPackageBQSLBean.LMRPackageBQHome</home>
    <remote>LMRPackageBQSLBean.LMRPackageBQ</remote>
    <ejb-class>LMRPackageBQSLBean.LMRPackageBQBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <env-entry>
         <env-entry-name>DB_SCHEMA_NAME_BQ</env-entry-name>
         <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>lmrdba</env-entry-value>
         </env-entry>
         <resource-ref>
    <res-ref-name>jdbc/LMR_DB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    <session>.....
    How can this be changed?
    Thanks

    Hi,
    I never tried it, but I think you should be able to set it up as a datasource configured in teh j2ee/home/config directory of OC4J. There is an existing datasources file already
    Frank

  • How to get EJBs environment?

    EJBContext.getEnvironment() is deprecated.
    "Deprecated. Use the JNDI naming context java:comp/env to access enterprise bean's environment."
    I'm confused on how to use "java:comp/env" to the the EJBs environment. Can anyone shed some light on this for me?
    Thanks.
    Eric

    Thanks.
    After reading that, I think I've asked the wrong question. I want to be able to set/change an MDB's provider-url. I assume I could do this in the setMessageDrivenContext method. The problem is that our dev/test/prod environments will each have a different provider-url. Building a different weblogic-ejb-jar.xml file for each environment will pretty much ensure that someone will eventually deploy the wrong one and prod will be listening to a dev topic. Anyone have an elegant solution for this?
    Thanks.

  • Question on clustering and J2EE Environment Entries

    Does anyone know if changes made through the admin server console to J2EE
              environment entries are propagated to the managed servers without
              redeploying the entire app. I can find a reference similar to this for
              things in the config.xml which states they are propagated in memory (in most
              cases) and can optionally be written permanently to the confg.xml file. I
              can't find a reference that tells me how/what is done for J2EE environment
              values.
              If this is not possible, how does one do dynamic configuration setting for a
              J2EE application in a clustered environment?
              Kent
              

    What I'm talking about is the environment entries that are set in the web
              application deployment descriptor (web.xml) from the admin server console.
              You go to a specific web-app in the console and then click on "edit web
              application deployment descriptor". From there (towards the bottom of the
              tree on the left) is Env Entry. You can change Environment Entries in the
              DD. What is unclear is if the values are propagated to the running app
              (in memory). For example, if I have a servlet that reads this environment
              entry and I change it in the admin console is the new value reflected
              (relatively) immediately? It's not entirely clear.
              Since there is an option to "persist" these changes (in the top of the tree)
              that would seem to imply that the changes are propagated to the running
              instances in memory otherwise why would I not want to persist the change?
              On the other hand, I would have also expected a button to let me decide when
              to push the changes so I could control when the managed server know about
              the change (for example, if I had to set more than one property to configure
              something).
              So ... does this make my question clearer? And if so is there any
              documentation the describes this? If not how do people handle configuration
              of a running application in a cluster if it not through DD environment
              entries?
              Kent
              "Cameron Purdy" <[email protected]> wrote in message
              news:[email protected]...
              > > Actually I'm talking about what I would call "environment variables" if
              > this
              > > was unix. I am not talking about files (gifs, html, etc) but rather
              > porpety
              > > settings. It is my understanding that these are call "environment
              > entries"
              > > (but I may remembered the name wrong) and are typed values that can be
              > > looked up vi JNDI.
              >
              > You can programmatically set JNDI entries, and they will usually be
              > propagated (although they are not designed to be reliably replicated).
              > Furthermore, the death of the registering server will cause the death of
              the
              > JNDI entries.
              >
              > I don't know how to set them from the console.
              >
              > Peace,
              >
              > --
              > Cameron Purdy
              > Tangosol, Inc.
              > Clustering Weblogic? You're either using Coherence, or you should be!
              > Download a Tangosol Coherence eval today at http://www.tangosol.com/
              >
              >
              >
              > "Kent Mitchell" <[email protected]> wrote in message
              > news:[email protected]...
              > >
              >
              >
              >
              

  • JNDI Environment Entries

    We're porting a web application from Tomcat 4.1.x to WL 7.x. The application requires
    several environment entries that we would like to keep outside of property files...
    In Tomcat, we used the <Environment> tag of the <Context>. TC would bind these
    entries into the application's local JNDI tree and the application would access
    them through java:comp/env. We would like to do something similar in WL, but we
    haven't been able to spot the mechanism in the docs.
    Even if we have to create the environment values in the global JNDI tree and map
    them locally through weblogic.xml, it would be fine. What we want to achieve is
    making these changes part of the post-build deployment process.
    Any help or a slap upside the head is appreciated - not mention needed. :) Thanks.
    Bon

    Can you refer this page, it might help.
    http://docs.sun.com/source/816-7156-10/agj2eres.html
    http://forum.java.sun.com/thread.jspa?threadID=499983&messageID=2362672
    I am not an expert. Still Cant we use
    <env-entry>
    <env-entry-name>...</env-entry-name>
    ETC
    </env-entry>
    in your web.xml
    and you can use it.
    Check this tag also and see if you can use it.
    Hope this helps

  • How to define your own context in an EJB environment - possibly distributed

    I would like to setup a context (an object accissible per logical thread) in an EJB environment, but I am too unfamiliar with the options I may have.
    My objective is to create a context in which I may set a value, then invoke a method on an object (which in turn invokes a method on another object and so forth) and eventually get back the value from the context. In other words I am trying to pass a value without passing it as a parameter. More specifically, I have written a JDBC Driver wrapper in which I want to intercept a number of method calls and based on the context settings perform one or the other JDBC preprocessing. The reason for not passing the values as parameters is to interfere as little as possible with any environment in which this code is to be integrated. I simply want to set the context and get the context (in my JDBC wrapper) without the surrounding code needing to change.
    I have succeded partially by using a ThreadLocal object to hold my context. I can set and get the values to and from the context and actually pass values to my Driver wrapper without explicitly passing them as parameters. This works well in a non-EJB environment. My concern arises when I switch to the EJB environment.
    If my context is set in a session bean, which invokes an entity bean, am I then guaranteed that these will execute in the same physical thread?
    If the session and the entity beans are hosted on seperate machines then the answer would certainly be NO. Is there any way to have the container manage the context and propagate it accross containers when needed?
    Any thoughts or suggestions on this topic are wellcome, even if they don't solve the issue entirely.
    Looking forward to hear from you all!
    /poul

    In an EJB environment, you have absolutely no control over threading issues. (It was purposefully designed that way.) However, you do have your own little "sandbox" in the EJB ClassLoader - which is why there is a lot of use of the Singleton pattern for factories and (very carefully!) as small caching mechanisms. You might want to look into that avenue - but you have to know how your EJB vendor's ClassLoader scheme works (there does appear to be a convergence in this area) and you must be very sensitive to potential thread-blocking operations that may take a while to complete.

  • I bought  my MacBook Pro in 2010. This is the first Mac I have owned and recently it is having some difficulty loading we pages, often timing out. This Mac environment is entirely different for me and I am not sure where to begin troubleshooting/clean-up.

    I bought  my MacBook Pro in 2010. This is the first Mac I have owned and recently it is having some difficulty loading we pages, often timing out. This Mac environment is entirely different for me and I am not sure where to begin troubleshooting and/ or clean-up. I have moderate computer skills and try not to download or access questionable material, however recently I visited the Ap Store and purchased a couple of different aps to use in record keeping and for making a flyer. I am not even sure how to remove these programs to see if it helps.
    Any tips or tricks are appreciated.
    Thank you!

    Time to see about the PRAM battery.
    By the way iOS and OS X are different systems.
    iOS is the operating system for iPads, iPhones, and iPod touch.
    Mac OS X is the operating system for Mac labelled computers.

  • XSL parsing in EJB environment

    Hi,
    I have a requirement to parse XSL, XML in Session EJB.
    I have read through a lot of article where parsing is normally done in Servlet.
    Can the requirement be achievable. Can anyone kindly help (it's urgent).
    Thank you

    Thank you so much to AMPHIGIS_X and gimbal2 for your reply.
    My early concern is that I am not sure of how intensive the XSL parser will java.io package during transformation. This is because usage of java..io package in EJB environment must be handle with care.
    I am more concerned when I read through a lot tutorial where the parsing is done by servlet level.

  • Java.lang.NoSuchMethodError: com.sap.aii.af.lib.util.ejb.FastEjbFactory

    Hi, only for register, when i tested the communication channel, the test failed and this error  "java.lang.NoSuchMethodError: com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance" appear in communication channel monitoring (RWB). I Found the solution, only deploy the last version of messaging component of netweaver.
    Best Regards
    Josue Neto

    Hi,
    What is the value mentioned for the Parameter
    --icm/conn_timeout and icm/keep_alive_timeout
    Check this Blog.. Might help
    /people/michal.krawczyk2/blog/2006/06/08/xi-timeouts-timeouts-timeouts
    Regards
    Agasthuri Doss

  • EJB relation mappings between different ejb jar files.

    I have two local entity EJBs but they are in different ejb jar files. I'd like to make a relationship mapping (one-to-one, one-to-many or whatever) between them. Is it possible? To do that, I need <ejb-name> reference tag each other in both ejb-jar.xml, but how can I refer to ejb-name defined in different ejb jar files? Or as long as you make EJB relationship mappings, all EJBs must be in the same ejb jar file?
    thanks,
    -tom

    Refer to
    http://www.onjava.com/pub/a/onjava/2001/06/26/ejb.html?page=2&x-showcontent=text

  • Settlement entry is different

    Hi All,
    Once the manufacturing process completed, the final output will be transferred to Inventory and the following accounting entry will be generated in SAP (MTO)
    INVENTORY A/C DR
    TO COGM Made to Order A/C
    But in the following case the accounting entry is different
    Production-Order-VAR A/c Dr
    To COGM-Made-To-Order A/c
    How to solve the above issue and how should I analyse this?
    Regards,
    Mahendra

    Hi,
    The following entry would be generated during the Goods Receipt (101 movement type) for the Order.
    INVENTORY A/C DR
    TO COGM Made to Order A/C
    The above entry is not meant for settlement.
    Depending on the materialu2019s price control indicator, settlement generates the following postings in FI: The price control indicator influences which FI accounts are used for the posting.
    If the price control indicator in the material master record is set to S (standard price), a price difference account is debited with the difference between the actual debit and the actual credit for the goods receipt for the period.
    The price difference account is debited and the inventory change account is credited.
    If the price control indicator in the material master record is set to V, the material stock account for the material produced is debited with the difference between the actual debit and the actual credit from goods receipts for the period.
    The system recalculates the moving average price and the total value of the inventory, and updates the results to the accounting view of the material master record. The material is revaluated and a document on the revaluation generated in FI. The Total stock field in the accounting view is the total number of units of the material in inventory (such as 100 units). This quantity is automatically valuated with the new moving average price. The new value of all inventories is shown in the accounting view of the material master record in the Total value field.
    The following posting is made in Financial Accounting:
    The inventory account is debited and the inventory change account is credited.
    With materials whose price control indicator is set to V, if the inventory quantity is greater than or equal to the quantity produced by the order, the full variance is posted to inventory (that is, to the material stock account).
    BR,
    ADI

  • I want to type my Calander entries in different colours

    I want to type my Calander entries in different colours

    Send Apple feedback. They won't answer, but at least will know there is a problem. If enough people send feedback, it may get the problem solved sooner.
    Feedback

  • Environment entries

    I store a couple of environment entries in my web.xml file. These are basically a username/password for my OID connection.
    I want other applications to use similar environment entries.
    Is there a file where I can put these entries so any application stored in a paticular container can see them?
    Could I then still do a JNDI lookup to get their values ?
    Thanks Richard

    Hi,
    I never tried it, but I think you should be able to set it up as a datasource configured in teh j2ee/home/config directory of OC4J. There is an existing datasources file already
    Frank

Maybe you are looking for

  • M204 field not getting populated in VA01

    I have to map order number to M204 field according to requirement using ORDERS05 Idoc and i am using EXIT for it. .but that field does not come during creating sales order. If I try to modify BDC DATA and try to append that field it says that its not

  • Iam getting error while running the xml report

    Hi, I designed the template by using subtemplate.If I run the concurrent program I am getting error like Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are : American_America.UTF8 Thanks, Bhuvana.

  • Different adapter types in scenario

    Hi, Isn't is possible to have different adapter types in one scenario? I have scenario where sender file is splitted to 4 different files. 3 for Idoc adapter and 1 for RFC. Now I'm getting error message " At least two of the sub-messages are for diff

  • 3150, 3253, 3252

    For a few weeks now, I have been trying to download a tv series that I purchased. I get several downloading problem messages.... network connection was terminated unexpectedly, network connection timed-out, network connection was reset, network conne

  • BRF Vs BRF Plus

    Hi, Is there any difference between BRF and BRF+ with respect to SRM 7.0. Is BRF + supported in SRM 7.0. Rgds, Madhan