[
https://issues.apache.org/jira/browse/OAK-3802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15061885#comment-15061885
]
Michael Dürig commented on OAK-3802:
------------------------------------
bq. exception happening within the scheduled jobs do not get detected
The preferred way is to have the tasks to handle their own exception and never
leak any out. If this is not possible it indicates that the exception is indeed
not so exceptional but kind of expected and should probably better be part of
the return value. One way of doing this is through futures. Luckily the
scheduler returns futures. Unluckily we currently ignore this return values.
Also unluckily Java's futures a pretty useless.
bq. look at commit done in 1720487
I don't particularly like {{JmxUtil}}. Isn't there a library for this? (Read:
why is the Java class library soooo lacking).
> SessionMBean not getting registered due to MalformedObjectNameException
> -----------------------------------------------------------------------
>
> Key: OAK-3802
> URL: https://issues.apache.org/jira/browse/OAK-3802
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Affects Versions: 1.3.11
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Priority: Minor
> Labels: regresion
> Fix For: 1.3.13
>
>
> Due to changes done in OAK-3477 SessionMBean is not getting registered as it
> contains ',' in the ObjectName. Unfortunately the exception thrown gets lost
> and this did not got detected so far
> {noformat}
> javax.management.MalformedObjectNameException: Invalid character in value: `,'
> at javax.management.ObjectName.checkValue(ObjectName.java:1009)
> at javax.management.ObjectName.construct(ObjectName.java:725)
> at javax.management.ObjectName.<init>(ObjectName.java:1425)
> at
> org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:79)
> at
> org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:68)
> at
> org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl$RegistrationTask.run(RepositoryImpl.java:523)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> {noformat}
> The name passed for ObjectName is
> {code}
> {name=admin@session-11@Dec 17, 2015 9:57:11 AM, type=SessionStatistics}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)