Yellow descriptor tags

how does one shut off the profoundly annoying yellow descriptor tags from showing up?
(these are the little pop-up tags when hovering the curser over and active button)
i have deselected 'toot tips' in several apps, but this obviously is an OS script running in the
background.
help?
hans
macbook pro Mac OS X 10.5.4
G5 quad 10.5.4

To manage tooltips see http://www.macosxhints.com/article.php?story=20061107125819464
I find them useful, but to each his own.

Similar Messages

  • About Working with text descriptors (tags)

    Hi, I see the Text Tracks tutorial for QT Pro, so I decide to make some subtitles for a video and change the color of the text, but the tuto say about RGB colors an the numbers that fills are 5 digits. But I learned that RGB only uses a scale of 0-255 to fill all the colors, So how can i get the most common colors or is there an algorithm or some kind of these to obtain other colors like say pinkish, redish or greenish??
    I only want a yellow color for the subtitles, but I've interested on the way to obtain more colors, so if anybody knows, please tell me. I really appreciate it!!

    Yep. Very confusing and you need a calculator to figure them out.
    http://discussions.apple.com/thread.jspa?messageID=3652488&#3652488
    But someone did it for us.
    I wish Apple would put the "Color Wheel" (version 6) and some of these other options back into version 7.
    http://homepage.mac.com/kkirkster/03war/
    One of my "movies" that uses the text track feature found in QuickTime Pro.
    And, I used a "yellow" color for the text track.

  • EJB 2.1 Deployment Descriptor tags

    Hi all, where can i find a good explanation on the EJB 2.1 Deployment Descrptor tags? I can see in the specification but that explanation on the XML Schema is not so good to understand nor to read.
    I thank any tip or url to visit.
    Giovani

    http://www.orionserver.com/docs/ejb-jar.xml.html
    This should help you get started.
    Also you could start reading the spec to understand more about anything.
    http://java.sun.com/products/ejb/docs.html
    Follow the link to the Specification.
    Vijay

  • Ejb deployment descriptor tag

    Hello,
    Is it possible to add specific attributs in addition of the existing tag for an ejb into the ejb_jar file?
    thank u
    ad

    According to the Dtd for ejb-jar.xml the session & entity bean tags
    do not have any attributes.
    thanks,
    Deepak

  • Must reinstall with every boot up

    I'm using Thunderbird on a imac with OS 10.5. After I emptied the trash today I could not open TB. I went to the TB file in the Applications folder and it was empty. The icon remains on my desktop.
    I downloaded the latest TB and reinstalled. That fixed it, or so I thought. When I reboot, TB no longer works and I have to reinstall again. Afterwards it works fine. None of my email files are lost.
    Any suggestions would be appreciated.
    Thanks,
    Ken

    how does one shut off the profoundly annoying yellow descriptor tags from showing up?
    (these are the little pop-up tags when hovering the curser over and active button)
    i have deselected 'toot tips' in several apps, but this obviously is an OS script running in the
    background.
    help?
    hans

  • Is the description tag of the app descriptor used in mobile apps?

    Just a simple question. I know the <description> tag of the app descriptor is used in the desktop AIR installer to tell what's the app about, but, is it ever used when compiling for iOS/Android/BB? The description is usually added manually to the App Store / Play Store page, so it would seem as if it's never used.
    I remember a while ago seeing somewhere in Adobe's documentation a table of the descriptor tags which were used on desktop, which on mobile and which on both. Does anyone have the link to that page? I can't seem to find it now.
    Thank you!

    500,000
    http://tech.fortune.cnn.com/2011/05/24/apples-itunes-store-500000-ios-apps-and-c ounting/

  • Automator searching labels rather than tags

    Hi,
    I'm having a problem with automator since labels changed to tags.
    I have a few different tags on each file which I'll call Tag A, Tag B, Tag C, and Tag D. Tag A and Tag B are both orange, Tag C is yellow, and Tag D is blue.
    If I have a file that should be Tag A and Tag D so I tag it with both tags. The file shows up like this:
    When I use tags in finder it shows up in both Tag A and Tag D.
    In automator if I search for Label = Orange it shows up, but when I search Label = Blue it doesnt show up.
    My first question is can I search by tag instead of label in automator? Either using a plugin or script?
    My second question is can I search for Tag A rather than Tag B? I say that because they are both orange but are distinguished by the tag name. What I usually do is search for Label = Orange and Any Content = Tag A.
    Thanks in advance for any help.
    Connor

    Not for you, but for other users who need the answer (so please do not use my answer )
    Use boolean operators (i.e. Tag:Green OR tag: Grey  NOT Tag:Blue)
    For multiple tagged files use: Tag:Green AND Tag:Gray
    mdfind can also be used:

  • Missing Help Tag

    I never see the yellow "help tag" since moving to LE 8. In the manual, for example at pg 346, "Dividing Regions" I can see that one can select the scissors and go hunting for the preferred split point and the yellow-boxed "Help Tag" pops up to guide. For me--nothing. Is there an place the user can toggle this off and on? Because for me, it's permanently off.
    -- Gerry

    Up in the menu bar click on Logic Express>Preferences>Display>Show Help Tags.
    Ron

  • Ejb-ref and ejb-local-ref tags

    Hi everyone,
    Can someone please tell me
    1) Is it necessary for me to define ejb-ref or ejb-local-ref tags if I am referering one ejb from other ejb? I mean to say is it mandatory that I should have these deployment descriptor tags?
    2) What is purpose of ejb-link tag ?

    Hi everyone,
    Can someone please tell me
    1) Is it necessary for me to define ejb-ref or
    ejb-local-ref tags if I am referering one ejb from
    other ejb? I mean to say is it mandatory that I should
    have these deployment descriptor tags?Yes, to write portable J2EE components, every time you have a dependency on an ejb, you need to declare an ejb-ref (for a Remote EJB client) or ejb-local-ref (for a Local EJB client). This is true no matter what kind of J2EE component is accessing the ejb (Application Client, JSP, Servlet, or another ejb).
    Think of the ejb-ref or ejb-local-ref as a pointer. It's different from the thing that is pointed to. Instead, it represents a dependency between a client component and a target ejb.
    2) What is purpose of ejb-link tag ?Every ejb-ref or ejb-local-ref must be resolved to unambiguously point to the target ejb. The ejb-link tag is one way to resolve this dependency for the case where the target ejb lives in the same .ear as the referring component. The ejb-link tag is the ejb-name (or <ejb-jar uri>#<ejb-name>) of the target ejb.
    Note that this means ejb-link is the ONLY way to resolve an ejb-local-ref, since by definition Local EJB access can only take place between two ejbs within the same .ear or a web component/ejb that live within the same .ear.
    For ejb-refs, you can use ejb-link if the target ejb is within the same .ear. If not, the ejb specification does not prescribe how the dependency is resolved. It's left up to the J2EE implementation. The most common approach is for the vendor to provide a product-specific runtime .xml element that resolves the ejb-ref by associating it with the global JNDI name of the target EJB. That's the approach used in the J2EE SDK and Sun Java System Application Server.
    Kenneth Saks
    J2EE SDK Team
    SUN Microsystems

  • Weblogic-ejb-jar.xml tags

    can anybody tell me if the jndi name tag can come before the ejbtype-descriptor tag
    like instead of the usual
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>MyTestSessionBean</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <jndi-name>MyTestSessionBean</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    can it be like
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>MyTestSessionBean</ejb-name>
    <jndi-name>MyTestSessionBean</jndi-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <jndi-name>MyTestSessionBean</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    i think it should not be a problem as long as its within the <weblogic-enterprise-bean>: i am generating DDs for weblogic and ejbs and its a big applictaion i dont know if it will work or not. thanks in advance
    Message was edited by sarmahdi at Sep 3, 2004 7:45 AM

    it seems that unfortunately i cannot but i really appreciate your answer:
    ejbname should follow descriptor then jndi name i gues as i am having errors
    <!ELEMENT weblogic-enterprise-bean (
    ejb-name,
    (entity-descriptor|
    stateless-session-descriptor|
    stateful-session-descriptor|
    message-driven-descriptor
    transaction-descriptor?,
    iiop-security-descriptor?,
    reference-descriptor?,
    enable-call-by-reference?,
    clients-on-same-server?,
    (run-as-identity-principal|
    run-as-principal-name
    create-as-principal-name?,
    remove-as-principal-name?,
    passivate-as-principal-name?,
    jndi-name?,
    local-jndi-name?,
    dispatch-policy?)
    >
    i am having this error: Module: core_ejb_sb.jar Error: [EJB:011024]The XML parser encountered an error in your deployment descriptor.
    Please ensure that your deployment descriptor corresponds to the format in the DTD. The error was:
    Error parsing file 'META-INF/weblogic-ejb-jar.xml' at line: 9 column: 29. The content of element
    type "weblogic-enterprise-bean" must match "
    (ejb-name,
    (entity-descriptor|stateless-session-descriptor|stateful-session-descriptor|message-driven-descriptor)?,
    transaction-descriptor?,iiop-security-descriptor?,reference-descriptor?,enable-call-by-reference?,clients-on-same-server?,(run-as-identity-principal|
    run-as-principal-name)?,create-as-principal-name?,remove-as-principal-name?,passivate-as-principal-name?,jndi-name?,local-jndi-name?,dispatch-policy?)"
    i guess i have to change the format now.

  • Tempo grid not related audio regions

    So I'm feeling stupid - I'm working on a sound design which uses only human voices. I've placed tons of samples into the arrange window, found an order I like for some of them and now want to align with them with the beginnings of bars related to the tempo that live musicians will play when this whole thing is performed. But if I change the tempo, using any of the 15 or so obvious methods, it changes the lengths and move all of my audio samples.
    Is it possible to simply lay in a tempo grid as a guide, without it having any effect whatsoever on what's already in the project? I know I'm not the only sound designer out here who could give a s* about loops. I've already lost a couple of hours to it today - which will multiply in a hurry if I have to start doing the math to lay out my grid offline.
    So am I being stupid, or is there no simple solution?

    the region creates perfect at the start but its a hair off at the end
    This is the moment where you have to stop right away and fix it, because this is a small problem that has a tendency to gradually turn into a big problem. And you can fix it easily once you understand the relevant techniques.
    So i stretch it out to match the actual loop markers
    At this point it's important to know what version of Logic you're using.
    You also need to be more specific about what you mean by stretch it out. I think you mean that you are looking at the region in the Arrange window, and you grab the right edge of the region and you pull it. But I need to know if you are grabbing the upper right edge or the lower right edge. I also need to know if you are holding down the option key. I also need to know if you are trying to make the region longer or shorter. I know "stretch" implies the former but I want to make sure I'm not making an incorrect assumption.
    You'll notice that the normal pointer tool turns into different tools, as you try these different approaches (upper/lower, without option key/with option key).
    Also, a yellow help tag appears while you're doing this. I need to know what the help tag says. Not every single number; just the word or phrase at the top left of the help tag.
    I could just tell you exactly what to do, but the whole thing is going to make much more sense to you in the end if we start out by understanding the real nature of what you're doing now.
    Message was edited by: 45rpm
    Message was edited by: 45rpm
    Message was edited by: 45rpm

  • How can i change the list of values for the items of type displaying in a ACC in ID format to Name format?

    I have 2 tables venue and concert. i have imported dummy values from xml file and data is imported to db successfully. when i go to ACC, afer select my EventsRepository->concert->click list. showing results in ID formatEventRepository:Concert:70701.
    Can anyone tel me how to show my results by name?

    You need to set the display-property="<<Your name property>>" in item-descriptor tag.
    e.g. <item-descriptor name="myItem" display-property="name" />
    Cheers
    R

  • HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean

    HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean
    by Steve Muench
    Overview
    BC4J provides automatic facilities for deploying any application module as a stateful EJB session bean. If you want to leverage the features of your BC4J application module from a stateless EJB session bean, it's not automatic but it is straightforward to implement. This howto article explains the details.
    For our example, we will create a stateless EJB session bean that uses a container-managed transaction. To keep things simple, let's assume the session bean has a single public method on its remote interface named createDepartment() with the following signature:
    public void createDepartment(int id, String name, String loc) throws AppException
    AppException is an example of an application-specific exception that our method will throw if any problems arise during its execution.The goal of this article is to illustrate how to use the BC4J application module named com.example.hr.HRApp as part of the implementation of this createDepartment method on our stateless enterprise bean. Let's assume that the HRApp application module has a view object member named Departments, based on the com.example.hr.DeptView view object, based on the familiar DEPT table and related to the com.example.hr.Dept entity object so our view can be updateable.
    Creating the Stateless Session Bean
    We can start by using the JDeveloper Enterprise Bean wizard to create a new stateless session bean called StatelessSampleEJB implemented by:[list][*]com.example.StatelessSampleEJBBean (Bean class)[*]com.example.StatelessSampleEJBHome (Home interface)[*]com.example.StatelessSampleEJB (Remote interface)[list]
    We then use the EJB Class Editor to add the createDepartment method to the remote interface of StatelessSampleEJB with the signature above. We edit the remote interface to make sure that it also reflects that the createDepartment method thows the AppException like this:
    package com.example;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface StatelessSampleEJB extends EJBObject {
      void createDepartment(int id, String name, String loc)
      throws RemoteException,AppException;
    }Before we start adding BC4J into the picture for our implementation, our StatelessSampleEJBBean class looks like this:
    package com.example;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    public class StatelessSampleEJBBean implements SessionBean {
      public void ejbCreate(){}
      public void ejbActivate(){}
      public void ejbPassivate(){}
      public void ejbRemove(){}
      public void setSessionContext(SessionContext ctx){
      public void createDepartment(int id, String name, String loc) 
      throws AppException {
        // TODO: Implement method here
    }We can double-click on the ejb-jar.xml file in our project to see the XML deployment descriptor for the bean we just created:
    <ejb-jar>
       <enterprise-beans>
          <session>
             <description>Session Bean ( Stateless )</description>
             <display-name>StatelessSampleEJB</display-name>
             <ejb-name>StatelessSampleEJB</ejb-name>
             <home>com.example.StatelessSampleEJBHome</home>
             <remote>com.example.StatelessSampleEJB</remote>
             <ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
          </session>
       </enterprise-beans>
    </ejb-jar>We need to add the extra <assembly-descriptor> section in this file to indicate that the createDepartment method will require a transaction. After this edit, the ejb-jar.xml file looks like this:
    <ejb-jar>
       <enterprise-beans>
          <session>
             <description>Session Bean ( Stateless )</description>
             <display-name>StatelessSampleEJB</display-name>
             <ejb-name>StatelessSampleEJB</ejb-name>
             <home>com.example.StatelessSampleEJBHome</home>
             <remote>com.example.StatelessSampleEJB</remote>
             <ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
          </session>
       </enterprise-beans>
       <assembly-descriptor>
          <container-transaction>
             <method>
                <ejb-name>StatelessSampleEJB</ejb-name>
                <method-name>createDepartment</method-name>
                <method-params>
                   <method-param>int</method-param>
                   <method-param>java.lang.String</method-param>
                   <method-param>java.lang.String</method-param>
                </method-params>
             </method>
             <trans-attribute>Required</trans-attribute>
          </container-transaction>
       </assembly-descriptor>
    </ejb-jar>
    Aggregating a BC4J Application Module
    With the EJB aspects of our bean setup, we can proceed to implementing the BC4J application module aggregation.
    The first thing we do is add private variables to hold the EJB SessionContext and the instance of the aggregated BC4J ApplicationModule, like this:
    // Place to hold onto the aggregated appmodule instance
    transient private ApplicationModule _am  = null;
    // Remember the SessionContext that the EJB container provides us
    private           SessionContext    _ctx = null;and we modify the default, empty implementation of the setSessionContext() method to remember the session context like this:
    public void setSessionContext(SessionContext ctx){ _ctx = ctx; }We add additional constants that hold the names of the J2EE datasource that we want BC4J to use, as well as the fully-qualified name of the BC4J application module that we'll be aggregating:
    // JNDI resource name for the J2EE datasource to use
    private static final String DATASOURCE = "jdbc/OracleCoreDS";
    // Fully-qualified BC4J application module name to aggregate
    private static final String APPMODNAME = "com.example.hr.HRApp";We expand the now-empty ejbCreate() and ejbRemove() methods to create and destory the aggregated instance of the BC4J application module that we'll use for the lifetime of the stateless session bean. When we're done, ejbCreate() it looks like this:
    public void ejbCreate() throws CreateException {
      try {
        // Setup a hashtable of environment parameters for JNDI initial context
        Hashtable env = new Hashtable();
        env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
        // NOTE: we want to use the BC4J app module in local mode as a simple Java class!
        env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
        env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
        // Create an initial context, using this hashtable of environment params
        InitialContext ic = new InitialContext(env);
        // Lookup a home interface for the application module
        ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
        // Using the home, create the instance of the appmodule we'll use
        _am = home.create();
        // Register the BC4J factory to handle EJB container-managed transactions
        registerContainerManagedTransactionHandlerFactory();
      catch(Exception ex) {
         ex.printStackTrace();
        throw new CreateException(ex.getMessage());
    }and ejbRemove() looks like this:
    public void ejbRemove() {
      try {
        // Cleanup any appmodule resources before getting shutdown
        _am.remove();
      catch(JboException ex) { /* Ignore */ }
    }The helper method named reigsterContainerManagedTransactionHandlerFactory() looks like this:
    private void registerContainerManagedTransactionHandlerFactory() {
      SessionImpl session = (SessionImpl)_am.getSession();
      session.setTransactionHandlerFactory(
        new TransactionHandlerFactory() {
          public TransactionHandler  createTransactionHandler() {
            return new ContainerManagedTxnHandlerImpl();
          public JTATransactionHandler createJTATransactionHandler() {
            return new ContainerManagedTxnHandlerImpl();
    }The last detail is to use the BC4J appmodule to implement the createDepartment() method. It ends up looking like this:
    public void createDepartment(int id, String name, String loc)
    throws AppException {
      try {
        // Connect the AM to the datasource we want to use for the duration
        // of this single method call.
        _am.getTransaction().connectToDataSource(null,DATASOURCE,false);
        // Use the "Departments" view object member of this AM
        ViewObject departments = _am.findViewObject("Departments");
        // Create a new row in this view object.
        Row newDept = departments.createRow();
        // Populate the attributes from the parameter arguments.
        newDept.setAttribute("Deptno", new Number(id));
        newDept.setAttribute("Dname", name);
        newDept.setAttribute("Loc", loc);
        // Add the new row to the view object's default rowset
        departments.insertRow(newDept);
        // Post all changes in the AM, but we don't commit them. The EJB
        // container managed transaction handles the commit.
        _am.getTransaction().postChanges();
      catch(JboException ex) {
        // To be good EJB Container-Managed Transaction "citizens" we have
        // to mark the transaction as needing a rollback if there are problems
        _ctx.setRollbackOnly();
        throw new AppException("Error creating dept "+ id +"\n"+ex.getMessage());
      finally {
        try {
          // Disconnect the AM from the datasource we're using
          _am.getTransaction().disconnect();
        catch(Exception ex) { /* Ignore */ }
    Building a Test Client
    With the EJB-Tier work done, we can build a sample client program to test this new stateless EJB Session Bean by selecting the bean in the Oracle9i JDeveloper IDE and choosing "Create Sample Java Client" from the right-mouse menu.
    When the "Sample EJB Client Details" dialog appears, we take the defaults of connecting to embedded OC4J container. Clicking the (OK) button generates the following test class:
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import com.example.StatelessSampleEJB;
    import com.example.StatelessSampleEJBHome;
    public class SampleStatelessSampleEJBClient {
      public static void main(String [] args) {
        SampleStatelessSampleEJBClient sampleStatelessSampleEJBClient =
           new SampleStatelessSampleEJBClient();
        try {
          Hashtable env = new Hashtable();
          env.put(Context.INITIAL_CONTEXT_FACTORY,
                  "com.evermind.server.rmi.RMIInitialContextFactory");
          env.put(Context.SECURITY_PRINCIPAL, "admin");
          env.put(Context.SECURITY_CREDENTIALS, "welcome");
          env.put(Context.PROVIDER_URL,
                  "ormi://localhost:23891/current-workspace-app");
          Context ctx = new InitialContext(env);
          StatelessSampleEJBHome statelessSampleEJBHome =
               (StatelessSampleEJBHome)ctx.lookup("StatelessSampleEJB");
          StatelessSampleEJB statelessSampleEJB;
          // Use one of the create() methods below to create a new instance
          // statelessSampleEJB = statelessSampleEJBHome.create();
          // Call any of the Remote methods below to access the EJB
          // statelessSampleEJB.createDepartment( int id, java.lang.String name, java.lang.String loc );
        catch(Throwable ex) {
          ex.printStackTrace();
    }We uncomment the call to the create() method and add a few calls to the createDepartment() method so that the body of the test program now looks like this:
    // Use one of the create() methods below to create a new instance
    statelessSampleEJB = statelessSampleEJBHome.create();
    // Call any of the Remote methods below to access the EJB
    statelessSampleEJB.createDepartment( 13, "Test1","Loc1");
    System.out.println("Created department 13");
    statelessSampleEJB.createDepartment( 14, "Test2","Loc2");
    System.out.println("Created department 14");
    try {
      // Try setting a department id that is too large!
      statelessSampleEJB.createDepartment( 23456, "Test3","Loc3");
    catch (AppException ax) {
      System.err.println("AppException: "+ax.getMessage());
    }Before we can successfully run our SampleStatelessSampleEJBClient we need to first run the EJB bean that the client will try to connect to. Since Oracle9i JDeveloper supports local running and debugging of the EJB-Tier without doing through a full J2EE deployment step, to accomplish this prerequisite step we just need to right-mouse on the StatelessSampleEJB node in the System Navigator and select "Run". This starts up the embedded OC4J instance and runs the EJB right out of the current out path.Finally, we can run the SampleStatelessSampleEJBClient, and see the output of the test program in the JDeveloper log window:
    Created department 13
    Created department 14
    AppException: Error creating dept 23456
    JBO-27010: Attribute set with value 23456 for Deptno in Dept has invalid precision/scale
    Troubleshooting
    One error that might arise while running the example is that the database connection information in your data-sources.xml for the jdbc/OracleCoreDS datasource does not correspond to the database you are trying to test against. If this happens, then double-check the file .\jdev\system\oc4j-config\data-sources.xml under the JDeveloper installation home directory to make sure that the url value provided is what you expect. For example, to work against a local Oracle database running on your current machine, listening on port 1521, with SID of ORCL, you would edit this file to have an entry like this for jdbc/OracleCoreDS :
    <data-source
        class="com.evermind.sql.DriverManagerDataSource"
        name="OracleDS"
        location="jdbc/OracleCoreDS"
        xa-location="jdbc/xa/OracleXADS"
        ejb-location="jdbc/OracleDS"
        connection-driver="oracle.jdbc.driver.OracleDriver"
        username="scott"
        password="tiger"
        url="jdbc:oracle:thin:@localhost:1521:ORCL"
        inactivity-timeout="30"
    />This is the data-sources.xml file that gets used by the embedded OC4J instance running in JDeveloper.
    Conclusion
    Hopefully this article has illustrated that it is straightforward to utilize the full power of BC4J in local mode as part of your EJB Stateless Session Beans using container-managed transaction. This example illustrated a single createDepartment method in the enterprise bean, but by replicating the application module interaction code that we've illustrated in createDepartment, any number of methods in your stateless session bean can use the aggregated application module instance created in the ejbCreate() method.
    Code Listing
    The full code listing for the SampleStatelessEJB bean implementation class looks like this:
    * StatelessSampleEJB
    * Illustrates how to use an aggregated BC4J application module
    * in local mode as part of the implementation of a stateless
    * EJB session bean using container-managed transaction.
    * HISTORY
    * smuench/dmutreja 14-FEB-2002 Created
    package com.example;
    import oracle.jbo.*;
    import oracle.jbo.server.*;
    import javax.ejb.*;
    import oracle.jbo.domain.Number;
    import oracle.jbo.common.PropertyConstants;
    import java.util.Hashtable;
    import javax.naming.InitialContext;
    import oracle.jbo.server.ejb.ContainerManagedTxnHandlerImpl;
    public class StatelessSampleEJBBean implements SessionBean {
      // JNDI resource name for the J2EE datasource to use
      private static final String DATASOURCE = "jdbc/OracleCoreDS";
      // Fully-qualified BC4J application module name to aggregate
      private static final String APPMODNAME = "com.example.hr.HRApp";
      // Place to hold onto the aggregated appmodule instance
      transient private ApplicationModule _am  = null;
      // Remember the SessionContext that the EJB container provides us
      private           SessionContext    _ctx = null;
      public void ejbCreate() throws CreateException {
        try {
          // Setup a hashtable of environment parameters for JNDI initial context
          Hashtable env = new Hashtable();
          env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
          env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
          env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
          // Create an initial context, using this hashtable of environment params
          InitialContext ic = new InitialContext(env);
          // Lookup a home interface for the application module
          ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
          // Using the home, create the instance of the appmodule we'll use
          _am = home.create();
          // Register the BC4J factory to handle EJB container-managed transactions
          registerContainerManagedTransactionHandlerFactory();
        catch(Exception ex) {
           ex.printStackTrace();
          throw new CreateException(ex.getMessage());
      public void ejbActivate(){}
      public void ejbPassivate(){}
      public void ejbRemove(){}
      public void setSessionContext(SessionContext ctx){ _ctx = ctx; }
      public void createDepartment(int id, String name, String loc)
      throws AppException {
        try {
          // Connect the AM to the datasource we want to use for the duration
          // of this single method call.
          _am.getTransaction().connectToDataSource(null,DATASOURCE,false);
          // Use the "Departments" view object member of this AM
          ViewObject departments = _am.findViewObject("Departments");
          // Create a new row in this view object.
          Row newDept = departments.createRow();
          // Populate the attributes from the parameter arguments.
          newDept.setAttribute("Deptno", new Number(id));
          newDept.setAttribute("Dname", name);
          newDept.setAttribute("Loc", loc);
          // Add the new row to the view object's default rowset
          departments.insertRow(newDept);
          // Post all changes in the AM, but we don't commit them. The EJB
          // container managed transaction handles the commit.
          _am.getTransaction().postChanges();
        catch(JboException ex) {
          // To be good EJB Container-Managed Transaction "citizens" we have
          // to mark the transaction as needing a rollback if there are problems
          _ctx.setRollbackOnly();
          throw new AppException("Error creating dept "+ id +\n"+ex.getMessage());
        finally {
          try {
            // Disconnect the AM from the datasource we're using
            _am.getTransaction().disconnect();
          catch(Exception ex) { /* Ignore */ }
      private void registerContainerManagedTransactionHandlerFactory() {
        SessionImpl session = (SessionImpl)_am.getSession();
        session.setTransactionHandlerFactory(
          new TransactionHandlerFactory() {
            public TransactionHandler createTransactionHandler() {
              return new ContainerManagedTxnHandlerImpl();
            public JTATransactionHandler createJTATransactionHandler() {
              return new ContainerManagedTxnHandlerImpl();

    Hi Steve, It4s me again;
    About the question I made, I tried with a single assembly-descriptor tag and a single container-transaction tag in the deployment descriptor of the session bean and these were the results.
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    Then I tried with multiple assembly-descriptor tags each with a single container-transaction tag and the results were:
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    Finally I tried with a single assembly-descriptor and multiple container tags and the results were:
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    How can I make my Stateless Session bean work out?

  • Service Locator and JNDI Environment variables

    Hi,
    I have a class that implements the ServiceLocator pattern running into the container tier (not in a webapp), this class has a method that returns a Connection (java.sql). The problem is that I must hard code the JNDI name of the DataSource (or write it on a properties file), but I want to look for this name like a JNDI environment variable (java:comp/env/jdbc/dataSourceRefName). The class who calls the ServiceLocator is a DAO object, not an EJB. Is there any deployment descriptor tag or similar that let�s me register this name in the JNDI tree?
    Thanks.

    Hi Corujo-h,
    You'll need to declare the resource-ref in the environment
    section of the standard deployment descriptor of any component
    from which you'll invoke this ServiceLocator. So, if it's invoked
    from ejbs, you'll need to define the resource-ref for each ejb
    in ejb-jar.xml.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to deploy 2 EJB's in separate jars

    Hi,
    I have successfully deployed 2 session ejb's in the same jar file, i.e. with one ejb-jar.xml and one weblog-ejb-jar.xml. And get get the ejb's to communicate with each other.
    Now I want to be able to compile and deploy the 2 ejb's in separate jar files as part of an ear file.
    My method so far is this:
    I have split the ejb-jar.xml file into two, for each ejb, and also the weblogic-ejb-jar.xml file into two for each ejb.
    I then compiled the ejb source files and packaged each ejb up with its respective deployment descriptors into two separate .jar files.
    I then want to run weblogics ejbc on each .jar file in turn so that the resultant .jar files (with newly created stubs/skels) can be packaged into an .ear to be easily deployed into weblogic.
    I try and run the ejbc command on the first of the .jar files and i get the error:
    ERROR: Error from ejbc:
    In ejb-jar.xml, the EJB 'SessClient' contains an invalid ejb-link in ejb
    -ref 'ejb/SessLogHome'. No EJB with ejb-name 'IntellectStateless.jar#SessLog' co
    uld be found.
    ERROR: ejbc found errors
    My ejb-jar.xml file for this ejb is:
    <ejb-jar>
      <enterprise-beans>
        <session>
          <ejb-name>SessClient</ejb-name>
          <home>intellectsession.sessiontwo.SessClientEntHome</home>
          <remote>intellectsession.sessiontwo.SessClientEnt</remote>
          <ejb-class>intellectsession.sessiontwo.SessClientEntBean</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Container</transaction-type>
          <ejb-ref>
            <ejb-ref-name>ejb/SessLogHome</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>intellectsession.stateless.SessLogHome</home>
            <remote>intellectsession.stateless.SessLog</remote>
            <ejb-link>IntellectStateless.jar#SessLog</ejb-link>
          </ejb-ref>
        </session>
      </enterprise-beans>
      <assembly-descriptor>
        <container-transaction>
          <method>
         <ejb-name>SessClient</ejb-name>
         <method-name>*</method-name>
          </method>
          <trans-attribute>Required</trans-attribute>
        </container-transaction>
      </assembly-descriptor>
    </ejb-jar>and both of my .jar files are in the same directory when I run the ejbc command.
    I'm sure this can be done but I just think i'm not doing it in the right order maybe??
    Anyway pointers will be gr8ly appreciated.
    Cheers
    T

    Okay here is the solution to how to achieve the problem I encountered above:
    I am compiling my ejb.jar files using the weblogic.ejbc compiler, obviously I am deploying on weblogic here.
    This section:
    <ejb-ref>
      <ejb-ref-name>ejb/SessLogHome</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
    <home>intellectsession.stateless.SessLogHome</home>
      <remote>intellectsession.stateless.SessLog</remote>
      <ejb-link>IntellectStateless.jar#SessLog</ejb-link>
    </ejb-ref>must have JUST the <ejb-link/> tag removed from the ejb-jar.xml file. And then the weblogic-ejb-jar.xml file MUST look like this:
    <weblogic-ejb-jar>
        <weblogic-enterprise-bean>
            <ejb-name>SessClient</ejb-name>
            <reference-descriptor>
              <ejb-reference-description>
                <ejb-ref-name>ejb/SessLogHome</ejb-ref-name>
                <jndi-name>SessLog</jndi-name>
              </ejb-reference-description>
            </reference-descriptor>
            <jndi-name>SessClient</jndi-name>
        </weblogic-enterprise-bean>
    </weblogic-ejb-jar>Note the <refererence-descriptor> tag as the important part.
    After these changes, the 2 ejb.jar files can be compiled using the weblogic.ejbc tool, thus supplying the stubs/skels, and then the resultant two ejb.jar files can be added to the EAR file and deployed to weblogic.
    Result: 2 ejb's in separate jars, in one EAR file, talking to each other.
    T

Maybe you are looking for