⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 agententrypoint.java

📁 一个类似于openJMS分布在ObjectWeb之下的JMS消息中间件。
💻 JAVA
字号:
/* * JORAM: Java(TM) Open Reliable Asynchronous Messaging * Copyright (C) 2001 - 2003 ScalAgent Distributed Technologies * Copyright (C) 1996 - Dyade * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 * USA. * * Initial developer(s): David Feliot */package fr.dyade.aaa.jndi2.server;import fr.dyade.aaa.agent.*;import fr.dyade.aaa.jndi2.msg.*;import org.objectweb.util.monolog.api.BasicLevel;import org.objectweb.util.monolog.api.Logger;public class AgentEntryPoint implements EntryPoint {  private RequestManager manager;  public void setRequestManager(RequestManager manager) {    this.manager = manager;  }  public boolean accept(AgentId from, Notification not) throws Exception {    if (not instanceof JndiScriptRequestNot) {      doReact(from, (JndiScriptRequestNot)not);    } else return false;    return true;  }  /**   * Reacts to a JNDI script request. This is the notification   * entry point.   *    * @param not the JNDI script   */  private void doReact(AgentId from, JndiScriptRequestNot not) throws Exception {    if (Trace.logger.isLoggable(BasicLevel.DEBUG))      Trace.logger.log(BasicLevel.DEBUG,                        "AgentEntryPoint[" + manager.getId() +                        "].doReact(" + from +                       ",(JndiScriptRequestNot)" + not + ')');    JndiRequest[] requests = not.getRequests();    JndiReply[] replies = new JndiReply[requests.length];    for (int i = 0; i < requests.length; i++) {      AgentRequestContext reqCtx = new AgentRequestContext(        requests[i], from, not.reply());      replies[i] = manager.invoke(reqCtx);    }    if (not.reply()) {      // Reply to all the operations from the input      // script except those that are asynchronous.      // This can't happen in a centralized server.      // But in a distributed JNDI configuration, this      // server may be waiting for a notification reply       // from an other naming server.       // These asynchronous operations      // are acknowledged in separate notifications.      manager.sendTo(from, new JndiScriptReplyNot(replies));    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -