[Design of Security on JBoss] - Error configuring JRMPInvoker with SSL in conf/jboss-service
by sguilhen@redhat.com
This has to do with https://jira.jboss.org/jira/browse/JBAS-5815.
In short, when configuring a JRMPInvoker with a RMISSLServerSocketFactory [1] in conf/jboss-service.xml, a NPE is seen due to a failure to initialize the security domain.
The securityDomain attribute of RMISSLServerSocketFactory is set by the SecurityDomainEditor, that is responsible for converting the java:/jaas/domain String to the actual SecurityDomain instance that must be used by the DomainServerSocketFactory. This editor is installed by the JaasSecurityManagerService MBean that is specified in conf/jboss-service.xml.
When a JRMPInvoker is also configured in this file, by the time the RMISSLServerSocketFactory is constructed the SecurityDomainEditor is not available because JaasSecurityManagerService has been created but not yet started. As a result, a null security domain is set and this causes an NPE when a ServerSocket is created later on.
A workaround is to create a sar with the customized invoker or configure it somewhere else, like deploy/jrpm-invoker-service.xml or remoting-service.xm (AS 5). However we've been getting reports from many people complaining about this failure. So either we include in the documentation that customized JRMP invokers with SSL should not be configured in conf/jboss-service.xml or we find a fix - a way to install SecurityDomainEditor before the RMISSLServerSocketFactory is created. Any thoughts?
PS: In AS5 we should probably try to configure the JRMPInvoker as a MC bean instead of an MBean and then inject the security domain directly when SSL is needed. This would eliminate the need for the SecurityDomainEditor, not to mention it would be a much cleaner way of configuring things as no JNDI path (java:/jaas/domain) would have to be exposed.
[1] - http://wiki.jboss.org/wiki/JRMPInvoker
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4179132#4179132
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4179132
16 years, 3 months
JBoss Dev
by Gerald McCollam
Maybe someone can shed light on this problem.
I'm trying to install JBoss Dev Studio on my Macbook Pro running OS X 10.5.4
but can't get most plugin functionality (Seam, etc.) to load into Eclipse on
startup. I'm running the jbdevstudio-macosx-carbon-1.1.0.GA.tar installer
package downloaded from Redhat.
The active JVM on my machine is:
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
I'm fairly sure that's a 32 bit JVM but could be wrong.
Here's the stack trace:
java.lang.NullPointerException
at
org.eclipse.ui.internal.intro.impl.model.IntroGroup.loadDynamicNodes(IntroGroup.java:100)
at
org.eclipse.ui.internal.intro.impl.model.IntroGroup.loadChildren(IntroGroup.java:90)
at
org.eclipse.ui.internal.intro.impl.model.AbstractIntroContainer.getChildren(AbstractIntroContainer.java:78)
at
org.eclipse.ui.internal.intro.impl.model.AbstractIntroContainer.getChildrenOfType(AbstractIntroContainer.java:133)
at
org.eclipse.ui.internal.intro.impl.swt.RootPageForm.createGroupContent(RootPageForm.java:244)
at
org.eclipse.ui.internal.intro.impl.swt.RootPageForm.createGroupContent(RootPageForm.java:269)
at
org.eclipse.ui.internal.intro.impl.swt.RootPageForm.createRootPageContent(RootPageForm.java:231)
at
org.eclipse.ui.internal.intro.impl.swt.RootPageForm.createPartControl(RootPageForm.java:193)
at
org.eclipse.ui.internal.intro.impl.presentations.FormIntroPartImplementation.createMainPageBook(FormIntroPartImplementation.java:169)
at
org.eclipse.ui.internal.intro.impl.presentations.FormIntroPartImplementation.dynamicCreatePartControl(FormIntroPartImplementation.java:138)
at
org.eclipse.ui.internal.intro.impl.presentations.FormIntroPartImplementation.createPartControl(FormIntroPartImplementation.java:100)
at
org.eclipse.ui.internal.intro.impl.model.IntroPartPresentation.createPartControl(IntroPartPresentation.java:267)
at
org.eclipse.ui.intro.config.CustomizableIntroPart.createPartControl(CustomizableIntroPart.java:193)
at
org.eclipse.ui.internal.ViewIntroAdapterPart.createPartControl(ViewIntroAdapterPart.java:98)
at
org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
at
org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:227)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2086)
at
org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1027)
at
org.eclipse.ui.internal.WorkbenchPage.access$19(WorkbenchPage.java:1008)
at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:3684)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at
org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3681)
at
org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3657)
at
org.eclipse.ui.internal.WorkbenchIntroManager.createIntro(WorkbenchIntroManager.java:173)
at
org.eclipse.ui.internal.WorkbenchIntroManager.showIntro(WorkbenchIntroManager.java:120)
at
org.eclipse.ui.application.WorkbenchWindowAdvisor.openIntro(WorkbenchWindowAdvisor.java:173)
at
org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.openIntro(IDEWorkbenchWindowAdvisor.java:456)
at
org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:753)
at
org.eclipse.ui.internal.Workbench$21.runWithException(Workbench.java:1037)
at
org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3214)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2954)
at
org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801)
at
org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342)
at
org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3214)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2954)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Any thoughts?
thx,
geraldmc
16 years, 3 months