diff -Naur svnsrc/main/java/org/jboss/ws/eventing/EventingConstants.java src/main/java/org/jboss/ws/eventing/EventingConstants.java
--- svnsrc/main/java/org/jboss/ws/eventing/EventingConstants.java	2006-10-10 12:24:40.526422935 +0200
+++ src/main/java/org/jboss/ws/eventing/EventingConstants.java	2006-10-10 14:39:15.450505821 +0200
@@ -79,9 +79,7 @@
    // default config
 
    public final static String DISPATCHER_JNDI_NAME = "EventDispatcher";
-   public final static long MAX_LEASE_TIME = 1000 * 60 * 10L;
-   public final static long DEFAULT_LEASE = 1000 * 60 * 5L;
-
+   
    private static URI DELIVERY_PUSH_URI = null;
    private static URI DIALECT_XPATH_URI = null;
 
diff -Naur svnsrc/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManager.java src/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManager.java
--- svnsrc/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManager.java	2006-10-10 12:24:39.818375929 +0200
+++ src/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManager.java	2006-10-10 14:57:55.828886170 +0200
@@ -82,6 +82,8 @@
 {
 
    private static final Logger log = Logger.getLogger(SubscriptionManager.class);
+   private long MAX_LEASE_TIME = 1000 * 60 * 10L;
+   public  long DEFAULT_LEASE = 1000 * 60 * 5L;
 
    public static final ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=SubscriptionManager,module=eventing");
    
@@ -278,11 +280,11 @@
       // expiry constraints
       if (expires != null)
       {
-         assertLeaseConstraints(expires);
+         assertLeaseConstraints(expires); 
       }
       else
       {
-         expires = new Date((System.currentTimeMillis() + EventingConstants.DEFAULT_LEASE));
+         expires = new Date((System.currentTimeMillis() + DEFAULT_LEASE));
       }
 
       // filter constraints
@@ -322,11 +324,20 @@
 
    private void assertLeaseConstraints(Date expireDate) throws SubscriptionError
    {
-      long expires = expireDate.getTime() - System.currentTimeMillis();
-      if (expires < 0 || EventingConstants.MAX_LEASE_TIME < expires)
+      
+	  long expires = expireDate.getTime() - System.currentTimeMillis();
+      if (expires <= 0 ) {
          throw new SubscriptionError(EventingConstants.CODE_INVALID_EXPIRATION_TIME, "The expiration time requested is invalid: " + expires + "ms");
+      } 
+      if (MAX_LEASE_TIME < expires) {
+    	  expireDate.setTime((System.currentTimeMillis() + MAX_LEASE_TIME));
+    	  
+      }
    }
+   
+   
 
+   
    /**
     * Renew a subscription.
     *
@@ -343,7 +354,7 @@
 
       if (lease != null)
          assertLeaseConstraints(lease);
-      else lease = new Date((System.currentTimeMillis() + EventingConstants.DEFAULT_LEASE));
+      else lease = new Date((System.currentTimeMillis() + DEFAULT_LEASE));
 
       subscription.setExpires(lease);
       return lease;
@@ -448,6 +459,26 @@
       }
       return subscription;
    }
+   
+   public void setDefaultLeaseTimeMins(int mins) {
+		this.DEFAULT_LEASE = mins * 60 * 1000L;
+		
+	}
+   public int getDefaultLeaseTimeMins() {
+	   return (int) this.MAX_LEASE_TIME/60/1000;
+	}
+
+	public void setMaxLeaseTimeMins(int mins) {
+		this.MAX_LEASE_TIME  = mins * 60 * 1000L;
+		
+	}
+	
+
+	public int getMaxLeaseTimeMins() {
+		return (int) this.MAX_LEASE_TIME/60/1000;
+	}
+
+
 
    public void dispatch(URI eventSourceNS, Element payload)
    {
@@ -564,4 +595,7 @@
       }
       return server;
    }
+
+
+
 }
diff -Naur svnsrc/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManagerMBean.java src/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManagerMBean.java
--- svnsrc/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManagerMBean.java	2006-10-10 12:24:39.854378319 +0200
+++ src/main/java/org/jboss/ws/eventing/mgmt/SubscriptionManagerMBean.java	2006-10-10 14:39:15.454506087 +0200
@@ -65,6 +65,7 @@
     * @return int
     */
    int getActiveCount();
+   
 
    /**
     * Returns the approximate total number of tasks that have completed execution.
@@ -78,7 +79,7 @@
    public void setMaxPoolSize(int maxPoolSize);
 
    public void setEventKeepAlive(long millies);
-
+   
    // subscription endpointReference business
    SubscriptionTicket subscribe(URI eventSourceNS, EndpointReference notifyTo, EndpointReference endTo, Date expires, Filter filter) throws SubscriptionError;
 
@@ -98,4 +99,14 @@
    String showSubscriptionTable();
 
    String showEventsourceTable();
+   
+   
+   public void setMaxLeaseTimeMins(int mins);
+   
+   public int getMaxLeaseTimeMins();
+   
+   public void setDefaultLeaseTimeMins(int mins);
+   
+   public int getDefaultLeaseTimeMins();
+
 }
diff -Naur svnsrc/main/resources/jbossws.beans/META-INF/jboss-beans.xml src/main/resources/jbossws.beans/META-INF/jboss-beans.xml
--- svnsrc/main/resources/jbossws.beans/META-INF/jboss-beans.xml	2006-10-10 15:07:03.161222797 +0200
+++ src/main/resources/jbossws.beans/META-INF/jboss-beans.xml	2006-10-10 14:55:46.520301555 +0200
@@ -34,7 +34,10 @@
    </bean>
       
    <!-- A subscription manager for WS-Eventing -->
-   <bean name="SubscriptionManager" class="org.jboss.ws.eventing.mgmt.SubscriptionManager"/>
+   <bean name="SubscriptionManager" class="org.jboss.ws.eventing.mgmt.SubscriptionManager">
+      <property name="maxLeaseTimeMins">10</property>
+      <property name="defaultLeaseTimeMins">5</property>
+   </bean>
   
    <bean name="ServerConfig" class="org.jboss.ws.integration.jboss.ServerConfigImpl"/>
   
