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 .
>