Hello, everybody!

I am reading DSpace Manual and under the topic Kernel registration of 
Architectural Overview in the chapter 7.4.4 DSpace Services Framework, it says 
the kernel will automatically register itself as an MBean (I am interested in 
JMX and want to have a good understanding about how it works in practice). I am 
just wondering if this is a default behavior. However, I managed to find the 
actual code and the result is it is likely as following:
package org.dspace.servicemanager;
 * Creates or retrieves a DSpace Kernel with the given name.
 * @return a DSpace Kernel
 * @throws IllegalStateException if the Kernel cannot be created
public static DSpaceKernelImpl getKernel(String name) {
if (name != null) {
try {
DSpaceKernel kernel = new DSpaceKernelManager().getKernel(name);
if (kernel != null) {
if (kernel instanceof DSpaceKernelImpl) {
return (DSpaceKernelImpl)kernel;

throw new IllegalStateException("Wrong DSpaceKernel implementation");
        } catch (Exception e) {
// Ignore exceptions here

synchronized (staticLock) {
DSpaceKernelImpl kernelImpl = new DSpaceKernelImpl(name);
log.info("Created new kernel: " + kernelImpl);

if (name != null) {
DSpaceKernelManager.registerMBean(kernelImpl.getMBeanName(), kernelImpl);
        } else {

return kernelImpl;

It seems DSpaceKernelManager.registerMBean method has never ever been invoked. 
It is what I found from my limited knowledge. Maybe I am misunderstanding 
something. Could you please explain what should actually happen. By the way, my 
dspace version is 5.2.

Best regards
DSpace-tech mailing list
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Reply via email to