Hello Alex,

It looks like you are missing the getSession() method there:
HttpServletRequest#getSession()#setAttribute("mykey", clientObjectHere);
please have a look at [1]

Hope it helps,

Luis

[1]
https://tomcat.apache.org/tomcat-9.0-doc/servletapi/javax/servlet/http/HttpServletRequest.html#getSession--

2018-07-03 23:28 GMT+02:00 Alex O'Ree <spyhunte...@gmail.com>:

> The jaws client maybe takes 100ms to fire up.  So it's not terrible slow
> but the overall website is noticeably faster when caching it. All of the
> resources (wsdls, xsds) are local but there's a quite a few of them.
>
> Caching this object does not work as a session attribute.
> HttpServletRequest#setAttribute("mykey", clientObjectHere);
> followed by
> HttpServletRequest#getAttribute("mykey") == null on subsequent http
> requests.
>
> ServletContext#setAttribute and getAttribute does work however it is not
> viable in my situation
>
>
> On Jul 1, 2018 9:43 AM, "Christopher Schultz" <
> ch...@christopherschultz.net>
> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Alex,
>
>
> On 7/1/18 7:48 AM, Alex O'Ree wrote:
> > I was working on attempting to increase performance on a web app
> > which calls a jaxws service on behalf of the user. The process for
> > creating the jaxws client is somewhat slow so I was to try and
> > cache the the jaxws client object as an HTTP session attribute. It
> > doesn't work for some reason.
>
> Can you define "doesn't work"?
>
>
> > What does work is attaching the jaxws client object to the
> > application context, however this isn't a feasible solution.
>
> So, placing the client into the application via
> ServletContex.setAttribute("jaxclient", client) works?
>
>
> > I vaguely recall running into a similar problem with performing the
> > same task in jboss which i think had the requirement for adding a
> > @Serializable annotation to anything added to the session object.
> > Does tomcat require the same?
>
> Tomcat itself has no specific requirement for session attributes to be
> Serializable, unless you want your sessions to be "distributable" (as
> in a cluster). If you want to improve performance, using clustering
> isn't a great strategy, though.
>
> Tomcat won't fail immediately when adding a non-serializable object to
> the session. Instead, it will fail/log-error at the end of the
> request-processing when the changes to the session are propagated to
> the other node(s) in the cluster. Thus, your local session *should*
> continue to work.
>
> I'm curious about what takes so long when creating the JAXWS client.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAls42lEACgkQHPApP6U8
> pFhiyw//bRNRj/r6jvIi4WEBHTFt154fmvumT2eL56o3dmfxP+byylgcbwWm7z+P
> FvFkR76Vs15P7oSHARsCsSs3xfq46Nn/MyUkZzjdzFSXn4O39AOuzVB2M0NNMsrG
> G6xgrBxGCHD3Zfmk4R2cysqpDkWXjNDS1UlBgyn8DfO2kbjZu6f1OxU6Z9xtYDc0
> Shjfe+qrFo0kqI3XiJbn0PWB1QtTcF7eKjsOZMub/UsR5F1zH3KgdD7FYOvVllbP
> BaBxTdov6Jvbjg0RLKa9+fEmWFGbGkBq1daFLm6+SovSg1KXBzzidDi8k8qAly/P
> XjnNjV44l9mj4Uw1I7gArwvOGk/rm6X7m5NjIfeKjnB0rHpHwuqrrSL6sOvX2cEW
> UA+TX1sq06e9jeUiAzeS27H+Imfk6pNJycp5sW2JPiR7QTlvJwwJKlYIIs9TEiDo
> veQ0hAVRWTc/BPsthXJVakNW0cpySg8Jost/n0jBnl+ryjPnorBdCx6PVLbJ2RnY
> 1le5p4QCZRLRekDvO2PsGP0TRADWttPilumteTPgDR33KqookS9n02S9Ct6Lobdx
> 6YXFqtrlAMFzgdvyTtGgRU2J0a95JZWsLme+hLFqsiIAyS+wP8JfewhZr2paGFtI
> aTKdqTgyAXa6JmQqHOlZL6i+D8B6RawRl1xlcRc1FF1uEdPDmvc=
> =Y2qD
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>



-- 

"Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better."

- Samuel Beckett

Reply via email to