Package org.xmlBlaster.engine.qos

Examples of org.xmlBlaster.engine.qos.ConnectQosServer


    * @see org.xmlBlaster.engine.I_SubscriptionListener#subscriptionRemove(org.xmlBlaster.engine.SubscriptionEvent)
    */
   public void subscriptionRemove(SubscriptionEvent e) throws XmlBlasterException {
      if (e == null)
         throw new XmlBlasterException(this.global, ErrorCode.INTERNAL_UNKNOWN, "ReplManagerPlugin.sessionAdded with null event object");
      ConnectQosServer connQos = e.getSubscriptionInfo().getSessionInfo().getConnectQos();
      if (!hasUsAsDispatchPlugin(connQos))
         return;
      String sessionName = e.getSubscriptionInfo().getSessionInfo().getSessionName().getRelativeName();
      log.info("removal of one subscription for '" + sessionName +"' occured");
      /*
 
View Full Code Here


      if (loginName==null || passwd==null || qos_literal==null) {
         log.severe("login failed: please use no null arguments for login()");
         throw new XmlBlasterException("LoginFailed.InvalidArguments", "login failed: please use no null arguments for login()");
      }

      ConnectQosServer connectQos = new ConnectQosServer(glob, qos_literal);
      connectQos.setAddressServer(this.addressServer);
      I_SecurityQos securityQos = connectQos.getSecurityQos();


      if (securityQos == null)
         connectQos.loadClientPlugin(null, null, loginName, passwd);
      else {
         securityQos.setUserId(loginName);
         securityQos.setCredential(passwd);
         if (log.isLoggable(Level.FINE)) log.fine("login() method uses supplied loginName=" + loginName + " and password");
      }
View Full Code Here

              SessionEntry entry = (SessionEntry)entries[i];
              ConnectQosData data = this.global.getConnectQosFactory().readObject(entry.getQos());

              this.addressServer = new AddressServer(this.global, "NATIVE", this.global.getId(), (java.util.Properties)null);

              ConnectQosServer qos = new ConnectQosServer(this.global, data);
              qos.isFromPersistenceRecovery(true);
              qos.setPersistenceUniqueId(entry.getUniqueId());
              qos.setAddressServer(this.addressServer);

              SessionName sessionName = data.getSessionName();
              String sessionId = data.getSessionQos().getSecretSessionId();
              sessionIds.put(sessionName.getAbsoluteName(), sessionId);
              if (log.isLoggable(Level.FINE))
View Full Code Here

    * Invoked on successful client re-login (interface I_ClientListener)
    */
   public void sessionUpdated(ClientEvent e) throws XmlBlasterException
   {
      if (log.isLoggable(Level.FINER)) log.finer("Session update event for client " + e.getSessionInfo().toString());
      ConnectQosServer previous = e.getPreviousConnectQosServer();
      ConnectQosServer connectQos = e.getConnectQos();
      if (previous == null || connectQos == null)
         return;
      if (connectQos.isFromPersistenceRecovery())
         return;
      if (e.getSessionInfo() == null)
         return;
      if (previous.getData().isPersistent() && !connectQos.getData().isPersistent()) {
         log.warning("Ignoring change from persistence true to false for " + e.getSessionInfo().getId());
      }
      else {
         // Update other qos property changes in persistence
         this.addOrUpdateSession(e.getSessionInfo());
View Full Code Here

            if (receiverSessionInfo == null) { // We create a faked session without password check
               if (log.isLoggable(Level.FINE)) log.fine(ME+": Working on PtP message '" + cacheEntry.getLogId() + "' for destination [" + destination.getDestination() + "] which does not exist, forceQueuing=true, we create a dummy session");
               ConnectQos connectQos = new ConnectQos(serverScope);
               connectQos.setSessionName(destinationSessionName);
               connectQos.setUserId(destinationSessionName.getLoginName());
               ConnectQosServer connectQosServer = new ConnectQosServer(serverScope, connectQos.getData());
               connectQosServer.bypassCredentialCheck(true);
               long sessionTimeout = serverScope.getProperty().get("session.ptp.defaultTimeout", -1L);
               connectQosServer.getSessionQos().setSessionTimeout(sessionTimeout)// Or use message timeout?
               for (int i=0; ; i++) {
                  if (i>=20) {
                     String tmp = "Sending PtP message '" + cacheEntry.getLogId() + "' to '" + destination.getDestination() + "' failed, the message is rejected.";
                     String status = "destinationIsSession='" + destinationIsSession + "'" +
                                     " forceQueing='" + forceQueing + "' wantsPtP='" + wantsPtP +"'";
View Full Code Here

               //getSocketExecutor().getXmlBlasterCore().
               if (MethodName.CONNECT == receiver.getMethodName()) {
                  // TODO: crypt.importMessage(receiver.getQos()); see also ClientDispatchConnection.java:440
                  Socket socket = this.sock;
                  if (socket == null) return; // Is possible when EOF arrived inbetween
                  ConnectQosServer conQos = new ConnectQosServer(glob, receiver.getQos());
                  if (conQos.getSecurityQos() == null)
                     throw new XmlBlasterException(glob, ErrorCode.USER_SECURITY_AUTHENTICATION_ILLEGALARGUMENT, ME, "connect() without securityQos");
                  conQos.getSecurityQos().setClientIp (socket.getInetAddress().getHostAddress());
                  conQos.setAddressServer(getAddressServer());
                  Object callbackSocketDriver = new CallbackSocketDriver(conQos.getSessionName().getLoginName(), this);
                  conQos.getAddressServer().setCallbackDriver(callbackSocketDriver);
                  conQos.getData().getCurrentCallbackAddress().setCallbackDriver(callbackSocketDriver);
                  ConnectReturnQosServer retQos = getAuthenticateCore().connect(conQos);
                  this.secretSessionId = retQos.getSecretSessionId();
                  receiver.setSecretSessionId(retQos.getSecretSessionId()); // executeResponse needs it
                  executeResponse(receiver, retQos.toXml(), SocketUrl.SOCKET_TCP);
               }
View Full Code Here

      this.availabilityChecker.checkServerIsReady(xmlQos.getSessionName(), xmlQos.getAddressServer(), msgUnit, MethodName.CONNECT);

      try {
         // serialize first to have a clone for security reasons (and to guarantee our Global)
         // Note: We throw away the ConnectQosServer facade and create a new one (no specific data enters the core)
         ConnectQosServer clone = xmlQos.getClone(glob);
         ConnectReturnQosServer tmp = this.authenticate.connect(clone, secretSessionId);
         return new ConnectReturnQosServer(glob, tmp.toXml());
      }
      catch (Throwable e) {
         throw this.availabilityChecker.checkException(MethodName.CONNECT, e);
View Full Code Here

   public final String connect(AddressServer addressServer, String connectQos_literal, String secretSessionId) throws XmlBlasterException {

      // Parse XML QoS
      MsgUnit msgUnit = new MsgUnit(glob, null, null, connectQos_literal, MethodName.CONNECT);
      ConnectQosServer qos = new ConnectQosServer(glob, (ConnectQosData)msgUnit.getQosData());
      qos.setAddressServer(addressServer);

      // Currently we have misused used the clientProperty to transport this information
      if (qos.getData().getClientProperty(Constants.PERSISTENCE_ID) != null)
         qos.isFromPersistenceRecovery(true);

      this.availabilityChecker.checkServerIsReady(qos.getSessionName(), addressServer, msgUnit, MethodName.CONNECT);

      try {
         //System.out.println("GOT Protector: " + connectQos_literal);
         //System.out.println("AFTER Protector: " + qos.toXml());
         ConnectReturnQosServer ret = this.authenticate.connect(qos, secretSessionId);
View Full Code Here

         throw new XmlBlasterException(this.glob, ErrorCode.USER_ILLEGALARGUMENT, ME + ".connect", "login failed: please use 'connect loginName password'");
      }

      org.xmlBlaster.client.qos.ConnectQos clientConnectQos = new org.xmlBlaster.client.qos.ConnectQos(glob, loginName, passwd);
      clientConnectQos.setSessionTimeout(sessionTimeout);
      ConnectQosServer connectQos = new ConnectQosServer(glob, clientConnectQos.getData());
      this.addressServer = new AddressServer(glob, "NATIVE", glob.getId(), (java.util.Properties)null);
      connectQos.setAddressServer(this.addressServer);
      this.connectRetQos = glob.getAuthenticate().connect(connectQos);
      this.loginName = loginName;
      this.sessionId = connectRetQos.getSecretSessionId();
      isLogin = true;

      if (connectQos.getSessionTimeout() > 0L) {
         stopTimer();
         if (log.isLoggable(Level.FINE)) log.fine("Setting expiry timer for " + loginName + " to " + connectQos.getSessionTimeout() + " msec");
         timerKey = this.glob.getTelnetSessionTimer().addTimeoutListener(this, connectQos.getSessionTimeout(), null);
      }
      else
         log.info("Session for " + loginName + " lasts forever, requested expiry timer was 0");
   }
View Full Code Here

TOP

Related Classes of org.xmlBlaster.engine.qos.ConnectQosServer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.