Hi Ant,

I've noticed your commit the other day and was going to ask you what's the
purpose and what should I do now. Thanks for pointing this out.

I've made the necessary adjustments to the LICENSE file and I'm trying to
run the test again which doesn't seem to work... Do I have to start a full
build?

Florian


On Thu, Jun 9, 2011 at 4:46 PM, ant elder <[email protected]> wrote:

> Just as an FYI as you don't know its there - there is an itest that
> checks that all the dependency jars in the distribution are mentioned
> in the LICENSE file, so when versions get changed the distribution
> LICENSE file also needs to be updated or else the itest fails -
>
> https://builds.apache.org/job/Tuscany-2x/org.apache.tuscany.sca$itest-distribution-legal-checks/239/console
>
> The distribution LICENSE file is at
>
> https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/distribution/all/src/main/release/bin/LICENSE
>
>   ...ant
>
> On Thu, Jun 9, 2011 at 9:35 AM,  <[email protected]> wrote:
> > Author: fmoga
> > Date: Thu Jun  9 08:35:42 2011
> > New Revision: 1133713
> >
> > URL: http://svn.apache.org/viewvc?rev=1133713&view=rev
> > Log:
> > Use the BroadcasterLifeCyclePolicy and new callback mechanism from
> Atmosphere to improve resource cleanup. Move to Atmosphere 0.8-SNAPSHOT.
> >
> > Modified:
> >    tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/pom.xml
> >
>  
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometCallbackInvoker.java
> >
>  
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
> >
>  
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/handler/CometBindingHandler.java
> >
> > Modified:
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/pom.xml
> > URL:
> http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/pom.xml?rev=1133713&r1=1133712&r2=1133713&view=diff
> >
> ==============================================================================
> > --- tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/pom.xml
> (original)
> > +++ tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/pom.xml Thu
> Jun  9 08:35:42 2011
> > @@ -61,7 +61,7 @@
> >         <dependency>
> >                <groupId>org.atmosphere</groupId>
> >                <artifactId>atmosphere-jersey</artifactId>
> > -               <version>0.7.1</version>
> > +               <version>0.8-SNAPSHOT</version>
> >                <scope>compile</scope>
> >         </dependency>
> >        </dependencies>
> > @@ -78,14 +78,12 @@
> >                        </releases>
> >                </repository>
> >                <repository>
> > -                       <id>oss-sonatype-repository</id>
> > +                       <id>sonatype-releases</id>
> >                        <url>
> https://oss.sonatype.org/content/repositories/releases/</url>
> > -                       <snapshots>
> > -                               <enabled>true</enabled>
> > -                       </snapshots>
> > -                       <releases>
> > -                               <enabled>true</enabled>
> > -                       </releases>
> > +               </repository>
> > +               <repository>
> > +                       <id>sonatype-snapshots</id>
> > +                       <url>
> https://oss.sonatype.org/content/repositories/snapshots/</url>
> >                </repository>
> >  </repositories>
> >
> >
> > Modified:
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometCallbackInvoker.java
> > URL:
> http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometCallbackInvoker.java?rev=1133713&r1=1133712&r2=1133713&view=diff
> >
> ==============================================================================
> > ---
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometCallbackInvoker.java
> (original)
> > +++
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometCallbackInvoker.java
> Thu Jun  9 08:35:42 2011
> > @@ -65,9 +65,6 @@ public class CometCallbackInvoker implem
> >         Message response = new MessageImpl();
> >         if (broadcaster == null) {
> >             response.setBody(Status.CLIENT_DISCONNECTED);
> > -        } else if (broadcaster.getAtmosphereResources().isEmpty()) {
> > -            CometSessionManager.remove(sessionId);
> > -            response.setBody(Status.CLIENT_DISCONNECTED);
> >         } else {
> >             String callbackMethod = msg.getTo().getURI();
> >             Object[] body = msg.getBody();
> >
> > Modified:
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
> > URL:
> http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java?rev=1133713&r1=1133712&r2=1133713&view=diff
> >
> ==============================================================================
> > ---
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
> (original)
> > +++
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
> Thu Jun  9 08:35:42 2011
> > @@ -56,6 +56,16 @@ public final class ServletFactory {
> >     private static final String JS_PACKAGE =
> "org.apache.tuscany.sca.binding.comet.runtime.javascript";
> >
> >     /**
> > +     * Init-param key for Atmosphere filters.
> > +     */
> > +    private static final String FILTERS_KEY =
> "org.atmosphere.cpr.broadcastFilterClasses";
> > +
> > +    /**
> > +     * Defined filters.
> > +     */
> > +    private static final String FILTERS =
> "org.atmosphere.client.JavascriptClientFilter";
> > +
> > +    /**
> >      * Path where services will be exposed.
> >      */
> >     public static final String PATH = "/tuscany-comet/*";
> > @@ -99,8 +109,9 @@ public final class ServletFactory {
> >     private static String registerCometServlet(ServletHost servletHost) {
> >         if (ServletFactory.cometServlet == null) {
> >             ServletFactory.cometServlet = new AtmosphereServlet();
> > -
>  ServletFactory.cometServlet.addInitParameter(ServletFactory.PACKAGE_KEY,
> ServletFactory.HANDLER_PACKAGE);
> > -            String uri =
> servletHost.addServletMapping(ServletFactory.PATH,
> ServletFactory.cometServlet);
> > +            ServletFactory.cometServlet.addInitParameter(PACKAGE_KEY,
> HANDLER_PACKAGE);
> > +//            ServletFactory.cometServlet.addInitParameter(FILTERS_KEY,
> FILTERS);
> > +            String uri = servletHost.addServletMapping(PATH,
> cometServlet);
> >             return uri;
> >         }
> >         return null;
> > @@ -109,8 +120,8 @@ public final class ServletFactory {
> >     private static void registerJavascriptServlet(ServletHost
> servletHost) {
> >         if (ServletFactory.javascriptServlet == null) {
> >             ServletFactory.javascriptServlet = new AtmosphereServlet();
> > -
>  ServletFactory.javascriptServlet.addInitParameter(ServletFactory.PACKAGE_KEY,
> ServletFactory.JS_PACKAGE);
> > -            servletHost.addServletMapping(ServletFactory.JS_PATH,
> ServletFactory.javascriptServlet);
> > +
>  ServletFactory.javascriptServlet.addInitParameter(PACKAGE_KEY, JS_PACKAGE);
> > +            servletHost.addServletMapping(JS_PATH, javascriptServlet);
> >         }
> >     }
> >
> > @@ -121,8 +132,8 @@ public final class ServletFactory {
> >      *            the underlying servlet host.
> >      */
> >     public static void unregisterServlet(final ServletHost servletHost) {
> > -        servletHost.removeServletMapping(ServletFactory.PATH);
> > -        servletHost.removeServletMapping(ServletFactory.JS_PATH);
> > +        servletHost.removeServletMapping(PATH);
> > +        servletHost.removeServletMapping(JS_PATH);
> >     }
> >
> >  }
> >
> > Modified:
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/handler/CometBindingHandler.java
> > URL:
> http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/handler/CometBindingHandler.java?rev=1133713&r1=1133712&r2=1133713&view=diff
> >
> ==============================================================================
> > ---
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/handler/CometBindingHandler.java
> (original)
> > +++
> tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/handler/CometBindingHandler.java
> Thu Jun  9 08:35:42 2011
> > @@ -43,6 +43,9 @@ import org.apache.tuscany.sca.interfaced
> >  import org.apache.tuscany.sca.invocation.Message;
> >  import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
> >  import org.atmosphere.cpr.Broadcaster;
> > +import org.atmosphere.cpr.BroadcasterLifeCyclePolicy;
> > +import org.atmosphere.cpr.BroadcasterLifeCyclePolicyListener;
> > +import
> org.atmosphere.cpr.BroadcasterLifeCyclePolicy.ATMOSPHERE_RESOURCE_POLICY;
> >  import org.atmosphere.jersey.JerseyBroadcaster;
> >  import org.atmosphere.jersey.SuspendResponse;
> >
> > @@ -73,6 +76,10 @@ public class CometBindingHandler {
> >         Broadcaster broadcaster = CometSessionManager.get(sessionId);
> >         if (broadcaster == null) {
> >             broadcaster = new JerseyBroadcaster(sessionId);
> > +            BroadcasterLifeCyclePolicy policy = new
> BroadcasterLifeCyclePolicy.Builder().policy(
> > +                    ATMOSPHERE_RESOURCE_POLICY.EMPTY_DESTROY).build();
> > +            broadcaster.setBroadcasterLifeCyclePolicy(policy);
> > +            broadcaster.addBroadcasterLifeCyclePolicyListener(new
> CometBroadcasterLifeCyclePolicyListener(sessionId));
> >             CometSessionManager.add(sessionId, broadcaster);
> >         }
> >         return new
> SuspendResponse.SuspendResponseBuilder<String>().broadcaster(broadcaster).outputComments(true)
> > @@ -110,9 +117,8 @@ public class CometBindingHandler {
> >         if (!isVoidReturnType) {
> >             Object response = wire.invoke(operation, args);
> >             Broadcaster broadcaster = CometSessionManager.get(sessionId);
> > -            broadcaster.broadcast(callbackMethod + "($.secureEvalJSON('"
> + gson.toJson(response) + "'))");
> > -            if (broadcaster.getAtmosphereResources().isEmpty()) {
> > -                CometSessionManager.remove(sessionId);
> > +            if (broadcaster != null) {
> > +                broadcaster.broadcast(callbackMethod +
> "($.secureEvalJSON('" + gson.toJson(response) + "'))");
> >             }
> >         } else {
> >             wire.invoke(operation, msg);
> > @@ -205,4 +211,27 @@ public class CometBindingHandler {
> >         return objects.toArray(new String[] {});
> >     }
> >
> > +    public class CometBroadcasterLifeCyclePolicyListener implements
> BroadcasterLifeCyclePolicyListener {
> > +
> > +        private String sessionId;
> > +
> > +        public CometBroadcasterLifeCyclePolicyListener(String sessionId)
> {
> > +            this.sessionId = sessionId;
> > +        }
> > +
> > +        @Override
> > +        public void onDestroy() {
> > +        }
> > +
> > +        @Override
> > +        public void onEmpty() {
> > +            CometSessionManager.remove(sessionId);
> > +        }
> > +
> > +        @Override
> > +        public void onIdle() {
> > +        }
> > +
> > +    }
> > +
> >  }
> >
> >
> >
>

Reply via email to