use of org.glassfish.resourcebase.resources.api.PoolInfo in project Payara by payara.
the class JdbcRuntimeExtension method getPoolNameFromResourceJndiName.
/**
* Gets the Pool name that this JDBC resource points to. In case of a PMF resource
* gets the pool name of the pool pointed to by jdbc resource being pointed to by
* the PMF resource
*
* @param resourceInfo the jndi name of the resource being used to get Connection from
* This resource can either be a pmf resource or a jdbc resource
* @return poolName of the pool that this resource directly/indirectly points to
*/
@Override
public PoolInfo getPoolNameFromResourceJndiName(ResourceInfo resourceInfo) {
PoolInfo poolInfo = null;
JdbcResource jdbcResource = null;
String jndiName = resourceInfo.getName();
ResourceInfo actualResourceInfo = new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
ConnectorRuntime runtime = ConnectorRuntime.getRuntime();
jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo), JdbcResource.class, actualResourceInfo.getName());
if (jdbcResource == null) {
String suffix = ConnectorsUtil.getValidSuffix(jndiName);
if (suffix != null) {
jndiName = jndiName.substring(0, jndiName.lastIndexOf(suffix));
actualResourceInfo = new ResourceInfo(jndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName());
}
}
jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(runtime.getResources(actualResourceInfo), JdbcResource.class, actualResourceInfo.getName());
if (jdbcResource != null) {
if (logger.isLoggable(Level.FINE)) {
logger.fine("jdbcRes is ---: " + jdbcResource.getJndiName());
logger.fine("poolName is ---: " + jdbcResource.getPoolName());
}
}
if (jdbcResource != null) {
poolInfo = new PoolInfo(jdbcResource.getPoolName(), actualResourceInfo.getApplicationName(), actualResourceInfo.getModuleName());
}
return poolInfo;
}
use of org.glassfish.resourcebase.resources.api.PoolInfo in project Payara by payara.
the class JmsHandlers method pingJms.
@Handler(id = "pingJms", input = { @HandlerInput(name = "poolName", type = String.class, required = true) })
public static void pingJms(HandlerContext handlerCtx) {
try {
String poolName = (String) handlerCtx.getInputValue("poolName");
ConnectorRuntime connectorRuntime = GuiUtil.getHabitat().getService(ConnectorRuntime.class);
PoolInfo poolInfo = new PoolInfo(poolName);
connectorRuntime.pingConnectionPool(poolInfo);
GuiUtil.prepareAlert("success", GuiUtil.getMessage("msg.PingSucceed"), null);
} catch (Exception ex) {
GuiUtil.prepareAlert("error", GuiUtil.getMessage("msg.Error"), ex.getMessage());
}
}
Aggregations