try {
if (hessian != null && hessian.serializerFactory() != Object.class && !hessian.serializerFactory().isInstance(server.getSerializerFactory())) {
server.serializerFactory(hessian.serializerFactory().newInstance());
}
} catch (final Exception e) {
throw new OpenEJBRuntimeException(e);
}
if (hessian != null) {
server.sendCollectionType(hessian.sendCollectionType());
}
if (Dependent.class.equals(deployment.bean.getScope())) {
LOGGER.warning("@Dependent can lead to memory leaks ATM");
}
server.createSkeleton(bm.getReference(deployment.bean, deployment.itf, null), deployment.itf);
final String name = getName(deployment.path, deployment.itf);
final String appName = findAppName(bm);
try {
LOGGER.info("Hessian(url=" + registry.deploy(deployment.itf.getClassLoader(), server,
service.getVirtualHost(), appName,
service.getAuthMethod(), service.getTransportGuarantee(),
service.getRealmName(), name) + ", interface=" + name + ")");
deployed.add(new DeployedEndpoint(appName, name));
} catch (final URISyntaxException e) {
throw new OpenEJBRuntimeException(e);
}
}
toDeploy.clear();
}