release version 1.10.0

This commit is contained in:
2024-10-07 18:42:55 +03:00
parent 2034182607
commit a5088587f7
1501 changed files with 28818 additions and 59966 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ru.entaxy.esb.platform.runtime.core</groupId>
<artifactId>management</artifactId>
<version>1.9.0</version>
<version>1.10.0</version>
</parent>
<groupId>ru.entaxy.esb.platform.runtime.core.management</groupId>
@ -17,15 +17,23 @@
<properties>
<bundle.osgi.export.pkg>
ru.entaxy.esb.platform.core.management.connection
ru.entaxy.platform.core.management.connection
</bundle.osgi.export.pkg>
<bundle.osgi.private.pkg>
ru.entaxy.esb.platform.core.management.connection.impl,
ru.entaxy.esb.platform.core.management.connection.tracker
ru.entaxy.platform.core.management.connection.impl,
ru.entaxy.platform.core.management.connection.support.legacy,
ru.entaxy.esb.platform.core.management.connection.to_remove,
ru.entaxy.esb.platform.core.management.connection.to_remove.impl,
ru.entaxy.esb.platform.core.management.connection.to_remove.tracker
</bundle.osgi.private.pkg>
</properties>
<dependencies>
<dependency>
<groupId>ru.entaxy.esb.platform.runtime.core.management</groupId>
<artifactId>object-management</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>

View File

@ -1,76 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection;
import ru.entaxy.esb.platform.base.management.core.api.RuntimeTypedMBean;
public interface ConnectionMBean extends RuntimeTypedMBean {
public static final String CONNECTION_KEY = "connection";
/*
* connection name
*/
public String getName();
/*
* if connection is platform one or user defined
*/
public boolean isPlatform();
/*
* status of the bundle if connection is deplyed
*/
public String getStatus();
/*
* if the connection local or shared (cluster)
*/
public boolean isLocal();
/*
* if the connection is shared (single malt)
* or prototype-like (blended)
*/
public boolean isShared();
/*
* if the connection is deployed or only defined
*/
public boolean isDeployed();
/*
* bundle id for single malt connection
* null for blended
*/
public String getBundleId();
/*
* connection label
*/
public String getLabel();
}

View File

@ -1,46 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection;
import ru.entaxy.esb.platform.base.management.core.api.MBeanAnnotated;
import ru.entaxy.esb.platform.base.management.core.api.MBeanExportPolicy;
import ru.entaxy.esb.platform.base.management.core.api.Operation;
import ru.entaxy.esb.platform.base.management.core.api.Parameter;
@MBeanAnnotated(policy = MBeanExportPolicy.ANNOTATION_ENRICH)
public interface ConnectionsMBean {
public static final String CAPABILITY_NAMESPACE = "entaxy.runtime.connection";
public static final String CONNECTIONS_KEY = "category";
public static final String CONNECTIONS_KEY_VALUE = "connections";
@Operation(desc = "Gets connection's configuration")
public String getConnectionConfig(
@Parameter(name = "connectionName", desc = "Connection name") String connectionName) throws Exception;
}

View File

@ -1,105 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.impl;
import javax.management.NotCompliantMBeanException;
import javax.management.StandardMBean;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import ru.entaxy.esb.platform.base.management.core.api.EntaxyRuntimeTyped;
import ru.entaxy.esb.platform.core.management.connection.ConnectionMBean;
//@TODO move string to constant
@EntaxyRuntimeTyped(name = "entaxy.runtime.connection")
public class ConnectionMBeanImpl extends StandardMBean implements ConnectionMBean {
protected ManagedConnection connection;
protected BundleContext bundleContext;
public ConnectionMBeanImpl(BundleContext bundleContext, ManagedConnection connection) throws NotCompliantMBeanException {
super(ConnectionMBean.class);
this.bundleContext = bundleContext;
this.connection = connection;
}
@Override
public String getName() {
return connection.getName();
}
@Override
public boolean isPlatform() {
return connection.isPlatform();
}
@Override
public String getStatus() {
int state = this.bundleContext.getBundle(connection.getBundleId()).getState();
switch (state) {
case Bundle.ACTIVE:
return "Active";
case Bundle.INSTALLED:
return "Installed";
case Bundle.RESOLVED:
return "Resolved";
case Bundle.STARTING:
return "Starting";
case Bundle.STOPPING:
return "Stopping";
default:
return "Unknown";
}
}
@Override
public boolean isLocal() {
return connection.isLocal;
}
@Override
public boolean isShared() {
return connection.isShared();
}
@Override
public boolean isDeployed() {
return connection.isDeployed;
}
@Override
public String getBundleId() {
return connection.getBundleId() + "";
}
@Override
public String getLabel() {
return connection.getLabel();
}
}

View File

@ -1,139 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.impl;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import javax.management.DynamicMBean;
import javax.management.MBeanRegistration;
import javax.management.NotCompliantMBeanException;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.component.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.entaxy.esb.platform.base.management.core.ManagementCore;
import ru.entaxy.esb.platform.base.management.core.Qualifier;
import ru.entaxy.esb.platform.base.management.core.api.AnnotatedMBean;
import ru.entaxy.esb.platform.core.management.connection.ConnectionMBean;
import ru.entaxy.esb.platform.core.management.connection.ConnectionsMBean;
import ru.entaxy.esb.platform.core.management.connection.tracker.DeployedConnectionTracker;
import ru.entaxy.platform.base.objects.EntaxyObjectService;
@Component(
service = {ConnectionsMBean.class, DynamicMBean.class, MBeanRegistration.class},
property = {ManagementCore.JMX_OBJECTNAME
+ "=" + ManagementCore.Q_RUNTIME_S
+ "," + ConnectionsMBean.CONNECTIONS_KEY
+ "=" + ConnectionsMBean.CONNECTIONS_KEY_VALUE},
scope = ServiceScope.SINGLETON,
immediate = true
)
public class ConnectionsMBeanImpl extends AnnotatedMBean<ConnectionsMBean>
implements ConnectionsMBean, ManagedConnectionsListener {
private static final Logger log = LoggerFactory.getLogger(ConnectionsMBeanImpl.class);
public static final Qualifier Q_CONNECTIONS = ManagementCore.Q_RUNTIME
.qualifier(ConnectionsMBean.CONNECTIONS_KEY, ConnectionsMBean.CONNECTIONS_KEY_VALUE);
protected BundleContext bundleContext;
protected DeployedConnectionTracker tracker;
@Reference(cardinality = ReferenceCardinality.MANDATORY)
EntaxyObjectService entaxyObjectService;
protected static class ManagedConnectionDescriptor {
ManagedConnection connection;
ServiceRegistration<ConnectionMBean> registration;
}
protected Map<String, ManagedConnectionDescriptor> managed = new HashMap<>();
public ConnectionsMBeanImpl() throws NotCompliantMBeanException {
super(ConnectionsMBean.class);
}
@Activate
public void activate(ComponentContext componentContext) {
this.bundleContext = componentContext.getBundleContext();
tracker = new DeployedConnectionTracker(bundleContext, this);
tracker.open();
}
@Deactivate
public void deactivate() {
tracker.close();
}
@Override
public void added(ManagedConnections connections) {
Hashtable props = new Hashtable<>();
// String jmxObjectName = "jmx.objectname";
// String objectName = "ru.entaxy.esb:group=platform,category=connections,connection=";
for (ManagedConnection connection: connections.managedConnections) {
if (managed.containsKey(connection.getName()))
this.managed.get(connection.getName()).registration.unregister();
try {
ConnectionMBeanImpl service = new ConnectionMBeanImpl(bundleContext, connection);
ManagedConnectionDescriptor descriptor = new ManagedConnectionDescriptor();
descriptor.connection = connection;
props.put(ManagementCore.JMX_OBJECTNAME
, Q_CONNECTIONS.qualifier(ConnectionMBean.CONNECTION_KEY
, connection.getName()).getValue());
descriptor.registration = bundleContext.registerService(ConnectionMBean.class
, service
, props);
managed.put(connection.getName(), descriptor);
} catch (Exception e) {
log.error("Error adding connection [" + connection.getName() + "]", e);
}
}
}
@Override
public void removed(ManagedConnections connections) {
for (ManagedConnection connection: connections.managedConnections) {
if (managed.containsKey(connection.getName())) {
this.managed.get(connection.getName()).registration.unregister();
this.managed.remove(connection.getName());
}
}
}
@Override
public String getConnectionConfig(String connectionName) throws Exception {
return entaxyObjectService.findObject(connectionName, "entaxy.runtime.connection").getConfiguration();
}
}

View File

@ -1,116 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.impl;
public class ManagedConnection {
protected String name;
protected boolean isPlatform;
protected boolean isLocal;
protected boolean isShared;
protected long bundleId;
protected boolean isDeployed;
protected String label;
public String getName() {
return name;
}
public boolean isPlatform() {
return isPlatform;
}
public boolean isLocal() {
return isLocal;
}
public boolean isShared() {
return isShared;
}
public long getBundleId() {
return bundleId;
}
public boolean isDeployed() {
return isDeployed;
}
public String getLabel() {
return label;
}
public void setName(String name) {
this.name = name;
}
public void setPlatform(boolean isPlatform) {
this.isPlatform = isPlatform;
}
public void setLocal(boolean isLocal) {
this.isLocal = isLocal;
}
public void setShared(boolean isShared) {
this.isShared = isShared;
}
public void setBundleId(long bundleId) {
this.bundleId = bundleId;
}
public void setDeployed(boolean isDeployed) {
this.isDeployed = isDeployed;
}
public void setLabel(String label) {
this.label = label;
}
public ManagedConnection name(String name) {
setName(name);
return this;
}
public ManagedConnection platform(boolean isPlatform) {
setPlatform(isPlatform);
return this;
}
public ManagedConnection local(boolean isLocal) {
setLocal(isLocal);
return this;
}
public ManagedConnection shared(boolean isShared) {
setShared(isShared);
return this;
}
public ManagedConnection bundleId(long bundleId) {
setBundleId(bundleId);
return this;
}
public ManagedConnection deployed(boolean deployed) {
setDeployed(deployed);
return this;
}
public ManagedConnection label(String label) {
setLabel(label);
return this;
}
}

View File

@ -1,35 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.impl;
import java.util.ArrayList;
import java.util.List;
public class ManagedConnections {
public List<ManagedConnection> managedConnections = new ArrayList<>();
}

View File

@ -1,33 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.impl;
public interface ManagedConnectionsListener {
public void added(ManagedConnections connections);
public void removed(ManagedConnections connections);
}

View File

@ -1,102 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.tracker;
import java.util.List;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleEvent;
import org.osgi.framework.wiring.BundleCapability;
import org.osgi.framework.wiring.BundleRevision;
import org.osgi.util.tracker.BundleTrackerCustomizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.entaxy.esb.platform.core.management.connection.ConnectionsMBean;
import ru.entaxy.esb.platform.core.management.connection.impl.ManagedConnection;
import ru.entaxy.esb.platform.core.management.connection.impl.ManagedConnections;
import ru.entaxy.esb.platform.core.management.connection.impl.ManagedConnectionsListener;
import ru.entaxy.platform.base.support.CommonUtils;
public class DeployedConnectionCustomizer implements BundleTrackerCustomizer<ManagedConnections> {
private static final Logger log = LoggerFactory.getLogger(DeployedConnectionCustomizer.class);
protected ManagedConnectionsListener listener;
public DeployedConnectionCustomizer(ManagedConnectionsListener listener) {
this.listener = listener;
}
@Override
public ManagedConnections addingBundle(Bundle bundle, BundleEvent event) {
log.debug("INSPECTING: " + bundle.getBundleId());
BundleRevision revision = bundle.adapt(BundleRevision.class);
if (revision == null)
return null;
log.debug("REVISION FOUND: " + bundle.getBundleId());
List<BundleCapability> capabilities = revision.getDeclaredCapabilities(ConnectionsMBean.CAPABILITY_NAMESPACE);
if ((capabilities==null) || (capabilities.size()==0))
return null;
log.debug("CAPABILITIES FOUND: " + bundle.getBundleId());
ManagedConnections result = new ManagedConnections();
for (BundleCapability capability: capabilities) {
Object val = capability.getAttributes().get("name");
String name = val==null?"":val.toString();
log.debug("CAPABILITIES/NAME [" + name + "] : " + bundle.getBundleId());
if (!CommonUtils.isValid(name))
continue;
val = capability.getAttributes().get("platform");
boolean isPlatform = val==null?false:"true".equals(val.toString());
val = capability.getAttributes().get("label");
String label = val == null ? "" : val.toString();
ManagedConnection mc = (new ManagedConnection())
.name(name)
.platform(isPlatform)
.deployed(true)
.local(isPlatform)
.shared(true)
.bundleId(bundle.getBundleId())
.label(label);
result.managedConnections.add(mc);
}
listener.added(result);
return result;
}
@Override
public void modifiedBundle(Bundle bundle, BundleEvent event, ManagedConnections object) {
// TODO Auto-generated method stub
}
@Override
public void removedBundle(Bundle bundle, BundleEvent event, ManagedConnections object) {
log.debug("BUNDLE [{}] REMOVING", bundle.getBundleId());
listener.removed(object);
}
}

View File

@ -1,43 +0,0 @@
/*-
* ~~~~~~licensing~~~~~~
* connection-management
* ==========
* Copyright (C) 2020 - 2023 EmDev LLC
* ==========
* You may not use this file except in accordance with the License Terms of the Copyright
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
* rights to the Software and any copies are the property of the Copyright Holder. Unless
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
* Software for commercial purposes to provide services to third parties.
*
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
* Under no circumstances does the Copyright Holder guarantee or promise that the
* Software provided by him will be suitable or not suitable for the specific purposes
* of the User, that the Software will meet all commercial and personal subjective
* expectations of the User, that the Software will work properly, without technical
* errors, quickly and uninterruptedly.
*
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
* to the User for any direct or indirect losses of the User, his expenses or actual
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
* or damage to data, property, etc.
* ~~~~~~/licensing~~~~~~
*/
package ru.entaxy.esb.platform.core.management.connection.tracker;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.util.tracker.BundleTracker;
import ru.entaxy.esb.platform.core.management.connection.impl.ManagedConnections;
import ru.entaxy.esb.platform.core.management.connection.impl.ManagedConnectionsListener;
public class DeployedConnectionTracker extends BundleTracker<ManagedConnections> {
public DeployedConnectionTracker(BundleContext bundleContext, ManagedConnectionsListener listener) {
super(bundleContext
, Bundle.ACTIVE | Bundle.INSTALLED | Bundle.RESOLVED | Bundle.STARTING | Bundle.STOPPING
, new DeployedConnectionCustomizer(listener));
}
}