} else {
throw new EZBContainerException("unknown session type for: " + sessionBean);
}
// Build runtime information
SessionBeanInfo sessionBeanInfo = new SessionBeanInfo();
sessionBeanInfo.setTransactionManagementType(sessionBean.getTransactionManagementType());
sessionBeanInfo.setApplicationExceptions(sessionBean.getEjbJarDeployableMetadata().getApplicationExceptions());
// Only for singleton
if (sessionBean.isSingleton()) {
sessionBeanInfo.setStartup(sessionBean.isStartup());
}
sessionFactory.setSessionBeanInfo(sessionBeanInfo);
// Build WS deploy/time info
if (sessionBean.getWebServiceMarker() != null) {
// Bean is annotated with @WebService or @WebServiceprovider
IWebServiceInfo info = createWebServiceInfo(sessionBean, factoryName);
sessionBeanInfo.setWebServiceInfo(info);
} // else this bean is not webservices annotated
// get interfaces of bean
IJLocal localItfs = sessionBean.getLocalInterfaces();
IJRemote remoteItfs = sessionBean.getRemoteInterfaces();
if (localItfs != null) {
sessionBeanInfo.setLocalInterfaces(localItfs.getInterfaces());
for (String itf : localItfs.getInterfaces()) {
this.bindingReferences.add(createLocalItfRef(itf,
getEmbedded().getID(),
getId(),
factoryName,
sessionBean,
sessionFactory));
}
}
if (remoteItfs != null) {
sessionBeanInfo.setRemoteInterfaces(remoteItfs.getInterfaces());
for (String itf : remoteItfs.getInterfaces()) {
this.bindingReferences.add(createRemoteItfRef(itf,
getId(),
factoryName,
sessionBean,