Never mind Lance,
Seems I have an error in my configuration.
I think I'll be able to figure it out myself.

thanks anyhow
Jon




On Wed, May 22, 2013 at 6:10 PM, Jon Williams
<[email protected]>wrote:

> Hi Lance,
>
> This email thread caught my eye so I went and got your example app.
> It seems to be running, in a fashion. However,
> I'm seeing NPE's at runtime...
>
> 1 caveat, maybe pertinent. I had to add a dependency to the pom to get a
> good build...
>         <dependency>
>             <groupId>org.eclipse.jetty</groupId>
>             <artifactId>jetty-server</artifactId>
>             <version>7.6.4.v20120524</version>
>         </dependency>
>
> If you've got a moment, maybe you could take a look.
> Quite interested in using your project.
> thanks
> Jon
>
> Here my console output...
> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
> -Dmaven.home=/usr/share/java/maven-3.0.4
> -Dclassworlds.conf=/usr/share/java/maven-3.0.4/bin/m2.conf
> -Didea.launcher.port=7532
> "-Didea.launcher.bin.path=/Applications/jetbrains2013/IntelliJ IDEA
> 12.app/bin" -Dfile.encoding=UTF-8 -classpath
> "/usr/share/java/maven-3.0.4/boot/plexus-classworlds-2.4.jar:/Applications/jetbrains2013/IntelliJ
> IDEA 12.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain
> org.codehaus.classworlds.Launcher --fail-fast --strict-checksums
> org.mortbay.jetty:maven-jetty-plugin:6.1.16:run -P jetty-hightide
> [INFO] Scanning for projects...
> [INFO]
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building tapestry-cometd-demo Tapestry 5 Application 1.0-SNAPSHOT
> [INFO]
> ------------------------------------------------------------------------
> [INFO]
> [INFO] >>> maven-jetty-plugin:6.1.16:run (default-cli) @
> tapestry-cometd-demo >>>
> [INFO]
> [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @
> tapestry-cometd-demo ---
> [debug] execute contextualize
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] Copying 8 resources
> [INFO]
> [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @
> tapestry-cometd-demo ---
> [INFO] Nothing to compile - all classes are up to date
> [INFO]
> [INFO] --- maven-resources-plugin:2.5:testResources
> (default-testResources) @ tapestry-cometd-demo ---
> [debug] execute contextualize
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] Copying 1 resource
> [INFO]
> [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @
> tapestry-cometd-demo ---
> [INFO] Nothing to compile - all classes are up to date
> [INFO]
> [INFO] <<< maven-jetty-plugin:6.1.16:run (default-cli) @
> tapestry-cometd-demo <<<
> [INFO]
> [INFO] --- maven-jetty-plugin:6.1.16:run (default-cli) @
> tapestry-cometd-demo ---
> [INFO] Configuring Jetty for project: tapestry-cometd-demo Tapestry 5
> Application
> [INFO] Webapp source directory =
> /Users/jonwilliams/wrk/java/3rdParty/tapestry-cometd-demo-master/src/main/webapp
> [INFO] Reload Mechanic: automatic
> [INFO] web.xml file =
> /Users/jonwilliams/wrk/java/3rdParty/tapestry-cometd-demo-master/src/main/webapp/WEB-INF/web.xml
> [INFO] Classes =
> /Users/jonwilliams/wrk/java/3rdParty/tapestry-cometd-demo-master/target/classes
> 2013-05-22 18:02:35.124::INFO:  Logging to STDERR via
> org.mortbay.log.StdErrLog
> [INFO] Context path = /tapestry-cometd-demo
> [INFO] Tmp directory =  determined at runtime
> [INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
> [INFO] Web overrides =  none
> [INFO] Webapp directory =
> /Users/jonwilliams/wrk/java/3rdParty/tapestry-cometd-demo-master/src/main/webapp
> [INFO] Starting jetty 6.1.16 ...
> 2013-05-22 18:02:35.211::INFO:  jetty-6.1.16
> 2013-05-22 18:02:35.327::INFO:  No Transaction manager found - if your
> webapp requires one, please configure one.
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.ioc.services.TapestryIOCModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.json.services.JSONModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.lazan.t5.cometd.services.CometdModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.got5.tapestry5.jquery.services.JQueryModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.got5.tapestry5.jquery.services.js.JSModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.upload.services.UploadModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.services.TapestryModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.internal.services.InternalModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.services.assets.AssetsModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.apache.tapestry5.services.pageload.PageLoadModule
> [INFO] ioc.RegistryBuilder Adding module definition for class
> org.lazan.t5.cometddemo.services.AppModule
> [INFO] TapestryModule.ComponentClassResolver Registering cometd component
> library
> [INFO] TapestryModule.ComponentClassResolver Available pages (8):
>               (blank): org.lazan.t5.cometddemo.pages.Index
>                  Chat: org.lazan.t5.cometddemo.pages.Chat
>       ExceptionReport: org.apache.tapestry5.corelib.pages.ExceptionReport
>                 Index: org.lazan.t5.cometddemo.pages.Index
>           PageCatalog: org.apache.tapestry5.corelib.pages.PageCatalog
> PropertyDisplayBlocks:
> org.apache.tapestry5.corelib.pages.PropertyDisplayBlocks
>    PropertyEditBlocks:
> org.apache.tapestry5.corelib.pages.PropertyEditBlocks
>         ServiceStatus: org.apache.tapestry5.corelib.pages.ServiceStatus
>                Stocks: org.lazan.t5.cometddemo.pages.Stocks
>
> [INFO] TapestryModule.ComponentClassResolver Available components (80):
>                 ActionLink:
> org.apache.tapestry5.corelib.components.ActionLink
>                 AddRowLink:
> org.apache.tapestry5.corelib.components.AddRowLink
>               AjaxFormLoop:
> org.apache.tapestry5.corelib.components.AjaxFormLoop
>                     Alerts: org.apache.tapestry5.corelib.components.Alerts
>                        Any: org.apache.tapestry5.corelib.components.Any
>                BeanDisplay:
> org.apache.tapestry5.corelib.components.BeanDisplay
>               BeanEditForm:
> org.apache.tapestry5.corelib.components.BeanEditForm
>                 BeanEditor:
> org.apache.tapestry5.corelib.components.BeanEditor
>                   Checkbox:
> org.apache.tapestry5.corelib.components.Checkbox
>                  Checklist:
> org.apache.tapestry5.corelib.components.Checklist
>                  DateField:
> org.apache.tapestry5.corelib.components.DateField
>                   Delegate:
> org.apache.tapestry5.corelib.components.Delegate
>                    Doctype: org.apache.tapestry5.corelib.components.Doctype
>                    Dynamic: org.apache.tapestry5.corelib.components.Dynamic
>                      Error: org.apache.tapestry5.corelib.components.Error
>                     Errors: org.apache.tapestry5.corelib.components.Errors
>                  EventLink:
> org.apache.tapestry5.corelib.components.EventLink
>           ExceptionDisplay:
> org.apache.tapestry5.corelib.components.ExceptionDisplay
>                       Form: org.apache.tapestry5.corelib.components.Form
>               FormFragment:
> org.apache.tapestry5.corelib.components.FormFragment
>               FormInjector:
> org.apache.tapestry5.corelib.components.FormInjector
>                       Grid: org.apache.tapestry5.corelib.components.Grid
>                   GridCell:
> org.apache.tapestry5.corelib.components.GridCell
>                GridColumns:
> org.apache.tapestry5.corelib.components.GridColumns
>                  GridPager:
> org.apache.tapestry5.corelib.components.GridPager
>                   GridRows:
> org.apache.tapestry5.corelib.components.GridRows
>                     Hidden: org.apache.tapestry5.corelib.components.Hidden
>                         If: org.apache.tapestry5.corelib.components.If
>                      Label: org.apache.tapestry5.corelib.components.Label
>                     Layout: org.lazan.t5.cometddemo.components.Layout
>                 LinkSubmit:
> org.apache.tapestry5.corelib.components.LinkSubmit
>                       Loop: org.apache.tapestry5.corelib.components.Loop
>                     Output: org.apache.tapestry5.corelib.components.Output
>                  OutputRaw:
> org.apache.tapestry5.corelib.components.OutputRaw
>                   PageLink:
> org.apache.tapestry5.corelib.components.PageLink
>                    Palette: org.apache.tapestry5.corelib.components.Palette
>              PasswordField:
> org.apache.tapestry5.corelib.components.PasswordField
>         ProgressiveDisplay:
> org.apache.tapestry5.corelib.components.ProgressiveDisplay
>            PropertyDisplay:
> org.apache.tapestry5.corelib.components.PropertyDisplay
>             PropertyEditor:
> org.apache.tapestry5.corelib.components.PropertyEditor
>                      Radio: org.apache.tapestry5.corelib.components.Radio
>                 RadioGroup:
> org.apache.tapestry5.corelib.components.RadioGroup
>              RemoveRowLink:
> org.apache.tapestry5.corelib.components.RemoveRowLink
>               RenderObject:
> org.apache.tapestry5.corelib.components.RenderObject
>                     Select: org.apache.tapestry5.corelib.components.Select
>                     Submit: org.apache.tapestry5.corelib.components.Submit
>             SubmitNotifier:
> org.apache.tapestry5.corelib.components.SubmitNotifier
>                   TextArea:
> org.apache.tapestry5.corelib.components.TextArea
>                  TextField:
> org.apache.tapestry5.corelib.components.TextField
>                 TextOutput:
> org.apache.tapestry5.corelib.components.TextOutput
>                       Tree: org.apache.tapestry5.corelib.components.Tree
>                    Trigger: org.apache.tapestry5.corelib.components.Trigger
>                     Unless: org.apache.tapestry5.corelib.components.Unless
>                     Upload: org.apache.tapestry5.upload.components.Upload
>                       Zone: org.apache.tapestry5.corelib.components.Zone
>          cometd/PushTarget: org.lazan.t5.cometd.components.PushTarget
> jquery/AbstractJQueryTable:
> org.got5.tapestry5.jquery.components.AbstractJQueryTable
>       jquery/AbstractTable:
> org.got5.tapestry5.jquery.components.AbstractTable
>           jquery/Accordion: org.got5.tapestry5.jquery.components.Accordion
>          jquery/AjaxUpload: org.got5.tapestry5.jquery.components.AjaxUpload
>            jquery/Carousel: org.got5.tapestry5.jquery.components.Carousel
>        jquery/CarouselItem:
> org.got5.tapestry5.jquery.components.CarouselItem
>            jquery/Checkbox: org.got5.tapestry5.jquery.components.Checkbox
>           jquery/DataTable: org.got5.tapestry5.jquery.components.DataTable
>              jquery/Dialog: org.got5.tapestry5.jquery.components.Dialog
>      jquery/DialogAjaxLink:
> org.got5.tapestry5.jquery.components.DialogAjaxLink
>          jquery/DialogLink: org.got5.tapestry5.jquery.components.DialogLink
>           jquery/Draggable: org.got5.tapestry5.jquery.components.Draggable
>             jquery/Gallery: org.got5.tapestry5.jquery.components.Gallery
>         jquery/GridColumns:
> org.got5.tapestry5.jquery.components.GridColumns
>       jquery/InPlaceEditor:
> org.got5.tapestry5.jquery.components.InPlaceEditor
>             jquery/Palette: org.got5.tapestry5.jquery.components.Palette
>  jquery/ProgressiveDisplay:
> org.got5.tapestry5.jquery.components.ProgressiveDisplay
>         jquery/RangeSlider:
> org.got5.tapestry5.jquery.components.RangeSlider
>          jquery/ShowSource: org.got5.tapestry5.jquery.components.ShowSource
>              jquery/Slider: org.got5.tapestry5.jquery.components.Slider
>           jquery/Superfish: org.got5.tapestry5.jquery.components.Superfish
>                jquery/Tabs: org.got5.tapestry5.jquery.components.Tabs
>         jquery/TwitterView:
> org.got5.tapestry5.jquery.components.TwitterView
>  t5internal/InternalLayout:
> org.apache.tapestry5.internal.t5internal.components.InternalLayout
>
> [INFO] TapestryModule.ComponentClassResolver Available mixins (24):
>            Autocomplete: org.apache.tapestry5.corelib.mixins.Autocomplete
>             DiscardBody: org.apache.tapestry5.corelib.mixins.DiscardBody
>          FormFieldFocus: org.apache.tapestry5.corelib.mixins.FormFieldFocus
>                NotEmpty: org.apache.tapestry5.corelib.mixins.NotEmpty
>      OverrideFieldFocus:
> org.apache.tapestry5.corelib.mixins.OverrideFieldFocus
>          RenderClientId: org.apache.tapestry5.corelib.mixins.RenderClientId
>          RenderDisabled: org.apache.tapestry5.corelib.mixins.RenderDisabled
>         RenderInformals:
> org.apache.tapestry5.corelib.mixins.RenderInformals
>      RenderNotification:
> org.apache.tapestry5.corelib.mixins.RenderNotification
>         TriggerFragment:
> org.apache.tapestry5.corelib.mixins.TriggerFragment
>             ZoneRefresh: org.apache.tapestry5.corelib.mixins.ZoneRefresh
>     jquery/Autocomplete: org.got5.tapestry5.jquery.mixins.Autocomplete
>             jquery/Bind: org.got5.tapestry5.jquery.mixins.Bind
>           jquery/Button: org.got5.tapestry5.jquery.mixins.Button
> jquery/CustomDatepicker: org.got5.tapestry5.jquery.mixins.CustomDatepicker
>       jquery/CustomZone: org.got5.tapestry5.jquery.mixins.CustomZone
>             jquery/Mask: org.got5.tapestry5.jquery.mixins.Mask
>      jquery/Placeholder: org.got5.tapestry5.jquery.mixins.Placeholder
>           jquery/Reveal: org.got5.tapestry5.jquery.mixins.Reveal
>         jquery/Selector: org.got5.tapestry5.jquery.mixins.Selector
>          jquery/Tooltip: org.got5.tapestry5.jquery.mixins.Tooltip
>    jquery/ZoneDroppable: org.got5.tapestry5.jquery.mixins.ZoneDroppable
>      jquery/ZoneRefresh: org.got5.tapestry5.jquery.mixins.ZoneRefresh
>        jquery/ui/Widget: org.got5.tapestry5.jquery.mixins.ui.Widget
>
> [INFO] BayeuxServerImpl.328332828 logLevel=2
> [INFO] BayeuxServerImpl.328332828 org.atmosphere.useStream=false
> [INFO] tapestry5.TapestryFilter Startup status:
>
> Services:
>
>              ActionRenderResponseGenerator: DEFINED
>           AjaxComponentEventRequestHandler: DEFINED
>          AjaxComponentEventResultProcessor: DEFINED
>                   AjaxFormUpdateController: DEFINED
>                AjaxPartialResponseRenderer: DEFINED
>                       AjaxResponseRenderer: DEFINED
>                          AjaxUploadDecoder: DEFINED
>                               AlertManager: DEFINED
>                        ApplicationDefaults: REAL
>                         ApplicationGlobals: REAL
>                     ApplicationInitializer: REAL
>                    ApplicationStateManager: DEFINED
>  ApplicationStatePersistenceStrategySource: DEFINED
>                            AspectDecorator: VIRTUAL
>                        AssetBindingFactory: DEFINED
>                            AssetDispatcher: DEFINED
>                        AssetObjectProvider: REAL
>                       AssetPathConstructor: DEFINED
>                         AssetPathConverter: DEFINED
>                       AssetResourceLocator: DEFINED
>                                AssetSource: VIRTUAL
>                                Authorizers: VIRTUAL
>                              BaseURLSource: DEFINED
>                               BayeuxServer: REAL
>                    BeanBlockOverrideSource: DEFINED
>                            BeanBlockSource: DEFINED
>                            BeanModelSource: DEFINED
>                              BindingSource: DEFINED
>                               ChainBuilder: VIRTUAL
>                            ChannelIdSource: DEFINED
>                                ChatService: DEFINED
>                               ClassFactory: BUILTIN
>                           ClassNameLocator: REAL
>                 ClasspathAssetAliasManager: DEFINED
>                      ClasspathAssetFactory: DEFINED
>                      ClasspathURLConverter: REAL
>                      ClientBehaviorSupport: DEFINED
>                          ClientDataEncoder: DEFINED
>               ClientPersistentFieldStorage: DEFINED
>              ClientPersistentFieldStrategy: DEFINED
>                            ClientWhitelist: DEFINED
>                              CometdGlobals: VIRTUAL
>             CometdHttpServletRequestFilter: REAL
>                        ComponentClassCache: VIRTUAL
>                      ComponentClassFactory: DEFINED
>                     ComponentClassResolver: REAL
>              ComponentClassTransformWorker: DEFINED
>       ComponentClassesInvalidationEventHub: REAL
>                   ComponentDefaultProvider: DEFINED
>                  ComponentEventLinkEncoder: DEFINED
>              ComponentEventLinkTransformer: DEFINED
>               ComponentEventRequestHandler: DEFINED
>              ComponentEventResultProcessor: DEFINED
>           ComponentInstanceResultProcessor: DEFINED
>                ComponentInstantiatorSource: DEFINED
>                      ComponentJSONRenderer: VIRTUAL
>      ComponentMessagesInvalidationEventHub: DEFINED
>                    ComponentMessagesSource: DEFINED
>                       ComponentModelSource: DEFINED
>        ComponentPageElementResourcesSource: DEFINED
>                      ComponentProxyFactory: DEFINED
>                    ComponentRequestHandler: DEFINED
>           ComponentRequestSelectorAnalyzer: DEFINED
>                   ComponentResourceLocator: DEFINED
>                            ComponentSource: DEFINED
>                   ComponentTemplateLocator: DEFINED
>                    ComponentTemplateSource: DEFINED
>     ComponentTemplatesInvalidationEventHub: DEFINED
>                        CompressionAnalyzer: DEFINED
>                        ContentTypeAnalyzer: DEFINED
>                                    Context: DEFINED
>                        ContextAssetFactory: DEFINED
>                      ContextBindingFactory: DEFINED
>                         ContextPathEncoder: DEFINED
>                        ContextValueEncoder: DEFINED
>                                 CookieSink: DEFINED
>                               CookieSource: DEFINED
>                                    Cookies: DEFINED
>                           DataTypeAnalyzer: DEFINED
>                    DefaultDataTypeAnalyzer: DEFINED
>                     DefaultFileItemFactory: DEFINED
>               DefaultImplementationBuilder: VIRTUAL
>                          DeferredExecution: DEFINED
>                      DynamicTemplateParser: VIRTUAL
>                               EffectsParam: DEFINED
>                       EndOfRequestEventHub: REAL
>                                Environment: DEFINED
>                 EnvironmentalShadowBuilder: VIRTUAL
>                          ExceptionAnalyzer: DEFINED
>                           ExceptionTracker: DEFINED
>                            FactoryDefaults: REAL
>                      FieldTranslatorSource: DEFINED
>                     FieldValidationSupport: DEFINED
>                FieldValidatorDefaultSource: DEFINED
>                       FieldValidatorSource: DEFINED
>                                FormSupport: DEFINED
>                                  Heartbeat: DEFINED
>                   HiddenFieldLocationRules: DEFINED
>                         HttpServletRequest: DEFINED
>                  HttpServletRequestHandler: VIRTUAL
>                        HttpServletResponse: DEFINED
>                         IgnoredPathsFilter: DEFINED
>                          InjectionProvider: DEFINED
>      InternalComponentInvalidationEventHub: REAL
>                     InternalRequestGlobals: DEFINED
>                                  JSHandler: DEFINED
>                                  JSLocator: DEFINED
>                                  JSSupport: DEFINED
>             JavaScriptStackPathConstructor: DEFINED
>                      JavaScriptStackSource: DEFINED
>                          JavaScriptSupport: DEFINED
>                                LazyAdvisor: DEFINED
>                            LinkCreationHub: DEFINED
>                                 LinkSource: DEFINED
>                            LinkTransformer: DEFINED
>                         LocalizationSetter: DEFINED
>                           LocationRenderer: DEFINED
>                               LoggerSource: BUILTIN
>                             LoggingAdvisor: DEFINED
>                           LoggingDecorator: DEFINED
>                             MarkupRenderer: DEFINED
>                        MarkupWriterFactory: DEFINED
>                           MasterDispatcher: DEFINED
>                       MasterObjectProvider: REAL
>            MasterStackTraceElementAnalyzer: DEFINED
>                      MessageBindingFactory: DEFINED
>                            MetaDataLocator: DEFINED
>                                 MetaWorker: DEFINED
>                           MultipartDecoder: DEFINED
>            NullFieldStrategyBindingFactory: DEFINED
>                    NullFieldStrategySource: DEFINED
>                   NumericTranslatorSupport: DEFINED
>                             ObjectRenderer: DEFINED
>             PageActivationContextCollector: DEFINED
>                              PageActivator: DEFINED
>                    PageContentTypeAnalyzer: DEFINED
>                      PageDocumentGenerator: DEFINED
>                         PageElementFactory: DEFINED
>                                PageGlobals: DEFINED
>                                 PageLoader: DEFINED
>                         PageMarkupRenderer: DEFINED
>                       PageRenderLinkSource: DEFINED
>                  PageRenderLinkTransformer: DEFINED
>                            PageRenderQueue: DEFINED
>                   PageRenderRequestHandler: DEFINED
>                       PageResponseRenderer: DEFINED
>                                 PageSource: DEFINED
>                      PartialMarkupRenderer: DEFINED
>                           PeriodicExecutor: DEFINED
>                     PersistentFieldManager: DEFINED
>                           PersistentLocale: DEFINED
>                           PerthreadManager: BUILTIN
>                            PipelineBuilder: REAL
>                        PlasticProxyFactory: BUILTIN
>                         PropBindingFactory: DEFINED
>                       PropertiesFileParser: DEFINED
>                             PropertyAccess: VIRTUAL
>                      PropertyConduitSource: DEFINED
>                      PropertyShadowBuilder: VIRTUAL
>                                PushManager: REAL
>                        RegistryShutdownHub: BUILTIN
>                            RegistryStartup: REAL
>                              RenderSupport: DEFINED
>                              RenderTracker: DEFINED
>                                    Request: VIRTUAL
>                    RequestExceptionHandler: DEFINED
>                             RequestGlobals: DEFINED
>                             RequestHandler: DEFINED
>                           RequestPageCache: DEFINED
>                     RequestSecurityManager: DEFINED
>                      ResourceChangeTracker: DEFINED
>                    ResourceDigestGenerator: DEFINED
>                      ResourceDigestManager: DEFINED
>                          ResourceMinimizer: DEFINED
>                           ResourceStreamer: DEFINED
>                                   Response: VIRTUAL
>                ResponseCompressionAnalyzer: DEFINED
>                           ResponseRenderer: DEFINED
>                         SelectModelFactory: DEFINED
>                     SelectorBindingFactory: DEFINED
>                  ServiceActivityScoreboard: BUILTIN
>                     ServiceLifecycleSource: REAL
>                            ServiceOverride: REAL
>              ServletApplicationInitializer: REAL
> SessionApplicationStatePersistenceStrategy: DEFINED
>             SessionPersistedObjectAnalyzer: DEFINED
>                               StockService: DEFINED
>                            StrategyBuilder: VIRTUAL
>                   StreamableResourceSource: DEFINED
>                             StringInterner: DEFINED
>                      SubscriptionListeners: VIRTUAL
>                       SymbolBindingFactory: DEFINED
>                               SymbolSource: REAL
>                     TapestrySessionFactory: DEFINED
>                             TemplateParser: DEFINED
>                               ThreadLocale: DEFINED
>                               ThunkCreator: DEFINED
>                    TranslateBindingFactory: DEFINED
>                 TranslatorAlternatesSource: DEFINED
>                           TranslatorSource: DEFINED
>                                TypeCoercer: REAL
>                                 URLEncoder: DEFINED
>                          UpdateListenerHub: DEFINED
>                     ValidateBindingFactory: DEFINED
>              ValidationConstraintGenerator: DEFINED
>                 ValidationDecoratorFactory: DEFINED
>                             ValidatorMacro: DEFINED
>                         ValueEncoderSource: DEFINED
>                               WidgetParams: DEFINED
>                                         js: DEFINED
>
> 86.67% unrealized services (182/210)
>
> Application 'app' (version 1.0-SNAPSHOT) startup time: 228 ms to build IoC
> Registry, 1,051 ms overall.
>
>  ______                  __             ____
> /_  __/__ ____  ___ ___ / /_______ __  / __/
>  / / / _ `/ _ \/ -_|_-</ __/ __/ // / /__ \
> /_/  \_,_/ .__/\__/___/\__/_/  \_, / /____/
>         /_/                   /___/  5.3.3 (development mode)
>
>
> [INFO] Started Jetty Server
> 2013-05-22 18:02:36.808::INFO:  Started
> [email protected]:8080
> 2013-05-22 18:02:41.837::WARN:  /tapestry-cometd-demo/cometd
> java.lang.NullPointerException
>  at
> org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:225)
> at
> org.eclipse.jetty.websocket.WebSocketFactory.acceptWebSocket(WebSocketFactory.java:361)
>  at
> org.cometd.websocket.server.WebSocketTransport.handle(WebSocketTransport.java:154)
> at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.lazan.t5.cometd.services.internal.ServletHttpServletRequestFilter.service(ServletHttpServletRequestFilter.java:76)
>  at $CometdHttpServletRequestFilter_13009d67d39f69fe.service(Unknown
> Source)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at $HttpServletRequestFilter_13009d67d39f6a05.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at $HttpServletRequestHandler_13009d67d39f6a02.service(Unknown Source)
>  at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
>  at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>  at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>  at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>  at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
>  at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
>  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>  at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> 2013-05-22 18:02:42.635::WARN:  /tapestry-cometd-demo/cometd
> java.lang.NullPointerException
> at
> org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:225)
>  at
> org.eclipse.jetty.websocket.WebSocketFactory.acceptWebSocket(WebSocketFactory.java:361)
> at
> org.cometd.websocket.server.WebSocketTransport.handle(WebSocketTransport.java:154)
>  at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>  at
> org.lazan.t5.cometd.services.internal.ServletHttpServletRequestFilter.service(ServletHttpServletRequestFilter.java:76)
> at $CometdHttpServletRequestFilter_13009d67d39f69fe.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>  at $HttpServletRequestFilter_13009d67d39f6a05.service(Unknown Source)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a02.service(Unknown Source)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
>  at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
>  at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>  at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>  at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>  at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
>  at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
>  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>  at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> 2013-05-22
> 18:02:42.881:org.eclipse.jetty.continuation.Jetty6Continuation:WARN:
>  !ContinuationFilter installed
> 2013-05-22 18:02:42.881::WARN:  /tapestry-cometd-demo/cometd/connect
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at
> org.eclipse.jetty.continuation.ContinuationSupport.getContinuation(ContinuationSupport.java:141)
>  at
> org.cometd.server.transport.LongPollingTransport.handle(LongPollingTransport.java:286)
> at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.lazan.t5.cometd.services.internal.ServletHttpServletRequestFilter.service(ServletHttpServletRequestFilter.java:76)
>  at $CometdHttpServletRequestFilter_13009d67d39f69fe.service(Unknown
> Source)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at $HttpServletRequestFilter_13009d67d39f6a05.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at $HttpServletRequestHandler_13009d67d39f6a02.service(Unknown Source)
>  at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
>  at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>  at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>  at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>  at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
>  at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>  at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>  at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>  at
> org.eclipse.jetty.continuation.ContinuationSupport.getContinuation(ContinuationSupport.java:135)
> ... 34 more
> Caused by: java.lang.IllegalStateException: !ContinuationFilter installed
> at
> org.eclipse.jetty.continuation.Jetty6Continuation.<init>(Jetty6Continuation.java:45)
>  ... 39 more
> isAuthorized(/chatservice/users)
> [DEBUG] AppModule.ChatService Creating proxy for service ChatService
> [DEBUG] AppModule.ChatService Loading class
> org.lazan.t5.cometddemo.services.internal.ChatServiceImpl.
> [DEBUG] AppModule.ChatService Marking class
> org.lazan.t5.cometddemo.services.internal.ChatServiceImpl to be (re-)loaded
> [DEBUG] AppModule.ChatService BEGIN Analyzing
> org.lazan.t5.cometddemo.services.internal.ChatServiceImpl
> [DEBUG] AppModule.ChatService   END Analyzing
> org.lazan.t5.cometddemo.services.internal.ChatServiceImpl
> [DEBUG] AppModule.ChatService Invoking constructor public
> org.lazan.t5.cometddemo.services.internal.ChatServiceImpl(org.lazan.t5.cometd.services.PushManager)
> (for service 'ChatService')
> onSubscribe(/chatservice/users)
> isAuthorized(/chatservice/chat)
> [INFO] server.ServerChannel Exception while invoking listener <Proxy for
> SubscriptionListeners(org.lazan.t5.cometd.services.SubscriptionListeners)>
> java.lang.IllegalStateException: Chat user not logged in
> at
> org.lazan.t5.cometddemo.services.internal.ChatSubscriptionListener.onSubscribe(ChatSubscriptionListener.java:31)
>  at
> org.lazan.t5.cometd.services.internal.SubscriptionListenersImpl.subscribed(SubscriptionListenersImpl.java:45)
> at $SubscriptionListeners_13009d67d39f6a00.subscribed(Unknown Source)
>  at
> org.cometd.server.ServerChannelImpl.notifySubscribed(ServerChannelImpl.java:148)
> at
> org.cometd.server.ServerChannelImpl.subscribe(ServerChannelImpl.java:127)
>  at
> org.cometd.server.ServerChannelImpl.subscribe(ServerChannelImpl.java:113)
> at
> org.cometd.server.BayeuxServerImpl$SubscribeHandler.onMessage(BayeuxServerImpl.java:1373)
>  at
> org.cometd.server.BayeuxServerImpl.doPublish(BayeuxServerImpl.java:882)
> at org.cometd.server.BayeuxServerImpl.handle(BayeuxServerImpl.java:672)
>  at
> org.cometd.server.transport.LongPollingTransport.bayeuxServerHandle(LongPollingTransport.java:425)
> at
> org.cometd.server.transport.LongPollingTransport.handle(LongPollingTransport.java:234)
>  at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>  at
> org.lazan.t5.cometd.services.internal.ServletHttpServletRequestFilter.service(ServletHttpServletRequestFilter.java:76)
> at $CometdHttpServletRequestFilter_13009d67d39f69fe.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>  at $HttpServletRequestFilter_13009d67d39f6a05.service(Unknown Source)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a02.service(Unknown Source)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
>  at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
>  at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>  at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>  at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>  at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
>  at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
>  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>  at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> isAuthorized(/stocks/GOOG)
> onSubscribe(/stocks/GOOG)
> isAuthorized(/stocks/YAHOO)
> onSubscribe(/stocks/YAHOO)
> 2013-05-22
> 18:02:43.655:org.eclipse.jetty.continuation.Jetty6Continuation:WARN:
>  !ContinuationFilter installed
> 2013-05-22 18:02:43.655::WARN:  /tapestry-cometd-demo/cometd/connect
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at
> org.eclipse.jetty.continuation.ContinuationSupport.getContinuation(ContinuationSupport.java:141)
>  at
> org.cometd.server.transport.LongPollingTransport.handle(LongPollingTransport.java:286)
> at org.cometd.server.CometdServlet.service(CometdServlet.java:181)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.lazan.t5.cometd.services.internal.ServletHttpServletRequestFilter.service(ServletHttpServletRequestFilter.java:76)
>  at $CometdHttpServletRequestFilter_13009d67d39f69fe.service(Unknown
> Source)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
> at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
>  at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at $HttpServletRequestFilter_13009d67d39f6a05.service(Unknown Source)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
>  at $HttpServletRequestHandler_13009d67d39f6a09.service(Unknown Source)
> at $HttpServletRequestHandler_13009d67d39f6a02.service(Unknown Source)
>  at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
>  at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>  at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>  at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>  at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
>  at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>  at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>  at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>  at
> org.eclipse.jetty.continuation.ContinuationSupport.getContinuation(ContinuationSupport.java:135)
> ... 34 more
> Caused by: java.lang.IllegalStateException: !ContinuationFilter installed
> at
> org.eclipse.jetty.continuation.Jetty6Continuation.<init>(Jetty6Continuation.java:45)
>  ... 39 more
> isAuthorized(/stocks/IBM)
> onSubscribe(/stocks/IBM)
> isAuthorized(/stocks/SONY)
> onSubscribe(/stocks/SONY)
> isAuthorized(/stocks/**)
> onSubscribe(/stocks/**)
>
>
>
>
> On Wed, May 22, 2013 at 3:37 PM, Lance Java <[email protected]>wrote:
>
>> Hi, as a previous dwr committer myself, I was keen to provide dwr reverse
>> ajax / tapestry integration.
>>
>> After speaking to the dwr team, I found that the push mechanism in dwr was
>> not considered bulletproof and was directed towards cometd
>>
>> For this reason, I have created tapestry-cometd, a push library for
>> tapestry that requires zero javascript
>> https://github.com/uklance/tapestry-cometd
>>
>> You must be aware that the tapestry team currently have push as a high
>> priority feature for the next release. So watch this space for an out of
>> the box solution.
>>
>> In the meantime, I'll be happy to help with a tapestry - cometd solution .
>>
>
>

Reply via email to