[
https://issues.apache.org/jira/browse/KARAF-4218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15059969#comment-15059969
]
ASF GitHub Bot commented on KARAF-4218:
---------------------------------------
GitHub user kwesterfeld opened a pull request:
https://github.com/apache/karaf/pull/120
[KARAF-4218] Mark Principal classes as Serializable
This fixes an issue regarding serializability of sessions when using karaf
along with hawtio. I am sure a number of other applications that would require
some sort of clustering involving serialized instances of
javax.security.auth.Subject (container of Principal) would benefit as well.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/kwesterfeld/karaf master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/karaf/pull/120.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #120
----
commit fa5f3a6e5ff2e68574890aa46b46f50d97db524f
Author: Kurt Westerfeld <[email protected]>
Date: 2015-12-16T13:22:08Z
[KARAF-4218] Mark Principal classes as Serializable
----
> JAAS boot classes are not marked serializable
> ---------------------------------------------
>
> Key: KARAF-4218
> URL: https://issues.apache.org/jira/browse/KARAF-4218
> Project: Karaf
> Issue Type: Bug
> Components: karaf-osgi
> Affects Versions: 4.0.3
> Reporter: Kurt Westerfeld
>
> The principal classes in the jaas/boot module
> (org.apache.karaf.jaas.boot.principal package) are not marked serializable.
> I am trying to setup clustering for a hawtio-based console, and the app
> stores javax.security.Subject in session data, which is not serializable
> because org.apache.karaf.jaas.boot.principal.UserPrincipal/etc are not marked
> serializable.
> Setting up a configuration for this is easy. Simply create a WAB project
> that has WEB-INF/jetty-web.xml as follows. The session manager in this case
> simply causes the sessions to serialize to disk. Most clustering solutions
> rely on serializable session data.
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
> "http://www.eclipse.org/jetty/configure.dtd">
> <Configure class="org.eclipse.jetty.webapp.WebAppContext">
> <Set name="sessionHandler">
> <New class="org.eclipse.jetty.server.session.SessionHandler">
> <Arg>
> <New class="org.eclipse.jetty.server.session.HashSessionManager">
> <Set name="storeDirectory">${karaf.data}/sessions</Set>
> <Set name="savePeriod">10</Set>
> </New>
> </Arg>
> </New>
> </Set>
> </Configure>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)