You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "D.R." <d....@googlemail.com> on 2013/05/22 23:13:21 UTC
dwr java chat demo in t5
Hi @all,
i was suprised that t5 does not support reverse ajax ;-(
googleing around, the only thing mentioned often enough is dwr and i
ended here:
http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/Implement-chat-function-td5606481.html
Actually, i want to do the same thing as the threadstarter:
A loggedin user can start a one-to-one chat with an admin. The admin can
handle multiple chats at the same time...
I don't really know if dwr is what i really want and if dwr is the best
thing recommended? Or are better solutions out there?
So i've tried to integrate the Java Chat with the latest dwr-RC3 from
dwr first, but only with partial success. My implementation does not
have the same behaviour like the demo:
http://directwebremoting.org/dwr-demo/reverseajax/java-chat.html
I've put the HTML source (i had to replace the div with an ul) and the
Javascript source into a .tml and the Java source into a corresponding
java class into my t5 jumpstart project.
GOOD:
i can see the clients polling:
...
[INFO] log.accessLog Incoming request: /dwr/call/plainpoll/ReverseAjax.dwr
[INFO] log.accessLog Incoming request: /dwr/call/plainpoll/ReverseAjax.dwr
[INFO] log.accessLog Incoming request: /dwr/call/plainpoll/ReverseAjax.dwr
[INFO] log.accessLog Incoming request: /dwr/call/plainpoll/ReverseAjax.dwr
...
GOOD:
the addMessage() Method is called when the button is pressed
ok, this is default behaviour
GOOD:
with opera i first get the expected behaviour:
open page in opera and firefox, type "opera1" in opera and the message
will be displayed in firefox and opera correctly.
NOT GOOD:
Then i type an "opera2" in opera and in opera i see the correct output:
<ul id="chatlog">
<li>opera2</li>
<li>opera1</li>
</ul>
But in firefox, the first message did not disapear, i get:
<ul id="chatlog">
<li>opera1</li>
<li>opera2</li>
<li>opera1</li>
</ul>
BAD:
now i type "firefox" in firefox and i get in opera:
<ul id="chatlog">
<li>opera2</li>
<li>opera1</li>
<li>firefox</li>
<li>opera2</li>
<li>opera1</li>
</ul>
In the firefox browser nothing happens... the textfield is not reset and
i still have:
<li>opera1</li>
<li>opera2</li>
<li>opera1</li>
BAD:
when i now type an "opera3" in opera, i get in opera:
<ul id="chatlog">
<li>opera3</li>
<li>firefox</li>
<li>opera2</li>
<li>opera1</li>
</ul>
initially what i did really expected, but before was the wrong output,
which is now replaced with the correct output :-)
In firefox still everythig is wrong:
<ul id="chatlog">
<li>opera1</li>
<li>opera2</li>
<li>opera1</li>
<li>opera3</li>
<li>firefox</li>
<li>opera2</li>
<li>opera1</li>
</ul>
VERY BAD:
i get a lot of:
2013-05-22 22:28:47.976:WARN::header full: java.lang.NullPointerException
and:
2013-05-22 22:28:47.976:WARN::header full:
java.lang.IllegalStateException: last?
and i don't know anything about these message, from where they come and
what they mean and how i can trace them
Also with chrome i am facing similar issues to firefox.
I know the most questions will come, when i want to access
tapestryservices later, but when i get these strange behaviour i don't
know if dwr is the right thing when i don't get this simple example running.
The thing is that i don't really know what the clients are calling. They
call the dwr-servlet via the generated .js:
"return dwr.engine._execute(p._path, 'MyChat', 'addMessage', arguments);"
but how does dwr response? In the end i must access a t5 service, so the
response must be filled with data from the t5 service...
At this point i can not imagine how i can encapsulate dwr with t5 and
let dwr interact with t5.
Informations and examples are more than rare :-(
A reverse ajax chat-webapp is not the most extreme case i can imagine :-)
Anybody out there with some suggestions?
Kind regards
David
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: dwr java chat demo in t5
Posted by Lance Java <la...@googlemail.com>.
The supported browsers section on the atmosphere page can be ignored as
this refers to atmosphere.js which is not used by the cometd integration.
Only the supported servers section is relevant.
Best to check the cometd docs for supported browsers at www.cometd.org
Re: dwr java chat demo in t5
Posted by Lance Java <la...@googlemail.com>.
You would do this by the topic (eg: "/chat/user1"). You can add custom
Authorizers for topic security.
Re: dwr java chat demo in t5
Posted by "D.R." <d....@googlemail.com>.
Lance,
thanks again, i will check the docs.
Seems that longpolling or jsonp is supported best by servers and browsers.
The first question i will have if there is a kind of client
identification built in. The chat messages must be propageted to the
correct users and not to all users. Is a client identification part of
the project or does this completely depends on my own businesslogic?
Kind regards
David
On 23.05.2013 09:44, Lance Java wrote:
> tapestry-cometd is built using the cometd integration in atmosphere.
> Atmosphere supports a variety of push mechanisms including WebSockets,
> Server Side Events (SSE), Long-Polling, HTTP Streaming (Forever frame) and
> JSONP.
>
> Out of the box, tapestry-cometd is configured to use
> org.cometd.websocket.server.WebSocketTransport but this can be configured
> in your AppModule (
> https://github.com/uklance/tapestry-cometd/blob/master/src/main/java/org/lazan/t5/cometd/services/CometdModule.java#L54
> )
>
> The supported servers and browsers are listed here:
> https://github.com/Atmosphere/atmosphere/wiki/Supported-WebServers-and-Browsers
>
> Some more docs here
> https://github.com/Atmosphere/atmosphere
> https://github.com/Atmosphere/atmosphere/wiki/Getting-started-with-Cometd
> https://github.com/uklance/tapestry-cometd/wiki/Configuring-the-CometD-Servlet
> http://cometd.org/
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: dwr java chat demo in t5
Posted by Lance Java <la...@googlemail.com>.
tapestry-cometd is built using the cometd integration in atmosphere.
Atmosphere supports a variety of push mechanisms including WebSockets,
Server Side Events (SSE), Long-Polling, HTTP Streaming (Forever frame) and
JSONP.
Out of the box, tapestry-cometd is configured to use
org.cometd.websocket.server.WebSocketTransport but this can be configured
in your AppModule (
https://github.com/uklance/tapestry-cometd/blob/master/src/main/java/org/lazan/t5/cometd/services/CometdModule.java#L54
)
The supported servers and browsers are listed here:
https://github.com/Atmosphere/atmosphere/wiki/Supported-WebServers-and-Browsers
Some more docs here
https://github.com/Atmosphere/atmosphere
https://github.com/Atmosphere/atmosphere/wiki/Getting-started-with-Cometd
https://github.com/uklance/tapestry-cometd/wiki/Configuring-the-CometD-Servlet
http://cometd.org/
Re: dwr java chat demo in t5
Posted by "D.R." <d....@googlemail.com>.
Hi,
Lance, wow, thank you for pointing me to your project! Integration is
more than easy, your example works outofthebox in my browsers. I had to
install jetty7 support, seems that jetty6 does not support websockets.
What are the disadvantages of websockets compared to ajax? I think not
all browsers support websockets? Especially the older versions?
But i think that all the major browsers support that in their latest
versions?
I did read that the t5 team want to integrate push, but did not see how
this is scheduled.
So i want to go with your project.
Thanks again, Lance!
Kind regards
David
On 22.05.2013 23:37, Lance Java 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 .
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: dwr java chat demo in t5
Posted by Jon Williams <wi...@gmail.com>.
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
<wi...@gmail.com>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
> SelectChannelConnector@0.0.0.0: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 <la...@googlemail.com>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 .
>>
>
>
Re: dwr java chat demo in t5
Posted by Jon Williams <wi...@gmail.com>.
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 SelectChannelConnector@0.0.0.0: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 <la...@googlemail.com>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 .
>
Re: dwr java chat demo in t5
Posted by Lance Java <la...@googlemail.com>.
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 .