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

📄 cbqueueproperty.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
/*------------------------------------------------------------------------------Name:      CbQueueProperty.javaProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE fileComment:   Holding callback queue properties------------------------------------------------------------------------------*/package org.xmlBlaster.util.qos.storage;import java.util.logging.Logger;import java.util.logging.Level;import org.xmlBlaster.util.Global;import org.xmlBlaster.util.def.Constants;import org.xmlBlaster.util.qos.address.CallbackAddress;/** * Helper class holding callback queue properties. * <p /> * See ConnectQos for XML sysntax. * @see org.xmlBlaster.client.qos.ConnectQos */public class CbQueueProperty extends QueuePropertyBase{   private static final String ME = "CbQueueProperty";   private static Logger log = Logger.getLogger(CbQueueProperty.class.getName());   /**    * @param relating  To what is this queue related: Constants.RELATING_CALLBACK | Constants.RELATING_SUBJECT    * @see QueuePropertyBase#QueuePropertyBase(Global, String)    */   public CbQueueProperty(Global glob, String relating, String nodeId) {      super(glob, nodeId);      String rel = (relating == null) ? Constants.RELATING_CALLBACK : relating;      setRelating(rel);      super.initialize(rel);      if (log.isLoggable(Level.FINE)) log.fine("Created CbQueueProperty " + rel + " " + super.nodeId);   }   /**    * Show some important settings for logging    */   public final String getSettings() {      StringBuffer buf = new StringBuffer(256);      buf.append("type=").append(getType()).append(" onOverflow=").append(getOnOverflow()).append(" onFailure=").append(getOnFailure()).append(" maxEntries=").append(getMaxEntries());      if (getCurrentCallbackAddress() != null)         buf.append(" ").append(getCurrentCallbackAddress().getSettings());      return buf.toString();   }   /**    * @param relating    To what is this queue related: Constants.RELATING_CALLBACK | Constants.RELATING_SUBJECT    */   public final void setRelating(String relating) {      if (relating == null) {         this.relating = Constants.RELATING_CALLBACK;         return;      }      relating = relating.toLowerCase();      if (Constants.RELATING_CALLBACK.equals(relating))         this.relating = Constants.RELATING_CALLBACK;      else if (Constants.RELATING_SUBJECT.equals(relating))         this.relating = Constants.RELATING_SUBJECT;      else {         log.warning("setRelating: The queue relating attribute is invalid '" + relating + "', setting to session scope");         this.relating = Constants.RELATING_CALLBACK;      }   }   public final boolean isSubjectRelated() {      return Constants.RELATING_SUBJECT.equals(getRelating());   }   public final boolean isSessionRelated() {      return Constants.RELATING_CALLBACK.equals(getRelating());   }   public final boolean onOverflowDeadMessage() {      if (Constants.ONOVERFLOW_DEADMESSAGE.equalsIgnoreCase(getOnOverflow()))         return true;      return false;   }   /**    * Currently only one address is allowed, failover addresses will be implemented in a future version    */   public void setCallbackAddress(CallbackAddress address) {      this.addressArr = new CallbackAddress[1];      this.addressArr[0] = address;   }   /**    */   public void setCallbackAddresses(CallbackAddress[] addresses) {      if (addresses == null) {         this.addressArr = EMPTY_ADDRESS_ARR;      }      else {         this.addressArr = addresses;      }   }   /**    * @return array with size 0 if none available    */   public CallbackAddress[] getCallbackAddresses()   {      CallbackAddress[] cba = new CallbackAddress[this.addressArr.length];      for (int ii=0; ii<this.addressArr.length; ii++)         cba[ii] = (CallbackAddress)this.addressArr[ii];      return cba;   }   /**    * @return Never null, a default is created if none is available.     */   public CallbackAddress getCurrentCallbackAddress() {      if (this.addressArr.length > 1)         log.severe("We have " + this.addressArr.length + " callback addresses, using the first only");      if (this.addressArr.length > 0)         return (CallbackAddress)this.addressArr[0];      CallbackAddress addr = new CallbackAddress(glob);      setCallbackAddress(addr);      return addr;   }   /** For testing: java org.xmlBlaster.engine.helper.CbQueueProperty */   public static void main(String[] args) {      CbQueueProperty prop = new CbQueueProperty(new Global(args), null, null);      System.out.println(prop.toXml());      CallbackAddress adr = new CallbackAddress(new Global(args), "EMAIL");      adr.setRawAddress("et@mars.sun");      prop.setCallbackAddress(adr);      System.out.println(prop.toXml());   }}

⌨️ 快捷键说明

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