FileDocCategorySizeDatePackage
ProfileProxyBean.javaAPI DocExample4574Thu Dec 15 21:06:28 GMT 2005com.oreilly.jent.ejb.messageDriven

ProfileProxyBean

public class ProfileProxyBean extends Object implements javax.ejb.MessageDrivenBean, javax.jms.MessageListener
In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you're reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O'Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product's documentation does require permission. We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: "Java Enterprise in a Nutshell, Third Edition, by Jim Farley and William Crawford with Prakash Malani, John G. Norman, and Justin Gehtland. Copyright 2006 O'Reilly Media, Inc., 0-596-10142-2." If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at permissions@oreilly.com.

Fields Summary
private javax.ejb.MessageDrivenContext
mContext
private com.oreilly.jent.ejb.containerManaged.ProfileHome
mProfileHome
Constructors Summary
Methods Summary
public voidejbCreate()

    System.out.println("Create called on ProfileProxyBean.");
    try {
      Context ctx = new InitialContext();
      mProfileHome = 
        (ProfileHome)PortableRemoteObject.narrow(ctx.lookup("ejb/CMPProfile"),
                                                 ProfileHome.class);
    }
    catch (NamingException ne) {
      throw new EJBException("Failed to locate Profile home interface: " +
                             ne.getMessage());
    }
  
public voidejbRemove()

    System.out.println("Remove called on ProfileProxyBean.");
  
public voidonMessage(javax.jms.Message msg)

    if (msg instanceof MapMessage) {
      MapMessage mMsg = (MapMessage)msg;
      try {
        String name = mMsg.getString("OWNER");
        if (name != null) {
          Profile prof = mProfileHome.findByPrimaryKey(name);
          Enumeration eNames = mMsg.getMapNames();
          while (eNames.hasMoreElements()) {
            String eName = (String)eNames.nextElement();
            String eVal = mMsg.getString(eName);
            if (!eName.equals("OWNER")) {
              prof.setEntry(eName, eVal);
            }
          }
        }
      }
      catch (JMSException je) {
        System.out.println("JMS error processing message to ProfileProxy: " +
                           je.getMessage());
      }
      catch (RemoteException re) {
        System.out.println("Remote exception while accessing profile: " +
                           re.getMessage());
      } 
      catch (FinderException fe) {
        System.out.println("Failed to find Profile named in message: " +
                           fe.getMessage());
      }
    }
    else {
      System.out.println("Non-MapMessage received by ProfileProxy, type = " +
                         msg.getClass().getName());
    }
  
public voidsetMessageDrivenContext(javax.ejb.MessageDrivenContext ctx)

    mContext = ctx;