super.createDurableSubscription(topicName, clientID, subscriptionName, selector);
super.createDurableSubscription(topicName, clientID, subscriptionName, selector, noLocal);
   public DurableSubscription createDurableSubscription(String topicName, String clientID,                                                        String subscriptionName, String selector)         throws JMSException   {      try      {         Connection conn = null;         PreparedStatement ps  = null;         TransactionWrapper wrap = new TransactionWrapper();         boolean failed = false;         try         {            conn = ds.getConnection();            ps = conn.prepareStatement(insertSubscription);            ps.setString(1, clientID);            ps.setString(2, subscriptionName);            ps.setString(3, topicName);            ps.setString(4, selector);            ps.executeUpdate();            // create it in memory too            DurableSubscription sub =               super.createDurableSubscription(topicName, clientID, subscriptionName, selector);            return sub;         }         catch (SQLException e)         {            failed = true;            wrap.exceptionOccurred();            throw e;         }         finally         {            if (log.isTraceEnabled())            {               String s = JDBCUtil.statementToString(insertSubscription, clientID, subscriptionName, topicName, selector);               log.trace(s + (failed ? " failed!" : " executed successfully"));            }            if (ps != null)            {               ps.close();            }            if (conn != null)            {               conn.close();            }            wrap.end();         }      }      catch (Exception e)      {         final String msg = "Failed to insert subscription";         log.error(msg, e);         JMSException e2 = new JMSException(msg);         e2.setLinkedException(e);         throw e2;      }   }