/** * Creates a new {@link ServiceExtensionLoader using the TCCL} * * @return */ private ServiceExtensionLoader createLoaderUsingTccl() { final Collection<ClassLoader> cls = new ArrayList<ClassLoader>(1); cls.add(TestSecurityActions.getThreadContextClassLoader()); return new ServiceExtensionLoader(cls); } }
public static VDBArchive archiveFromCurrentApp() throws Exception { Configuration config = ShrinkWrap.getDefaultDomain().getConfiguration(); ArrayList<ClassLoader> existing = new ArrayList<>(); Iterator<ClassLoader> it = config.getClassLoaders().iterator(); while (it.hasNext()) { existing.add(it.next()); } existing.add(VDBArchive.class.getClassLoader()); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.classLoaders(existing); builder.extensionLoader(new ServiceExtensionLoader(existing)); Domain domain = ShrinkWrap.createDomain(builder); final VDBArchive archive = domain.getArchiveFactory().create(VDBArchive.class, determineName()); //final VDBArchive archive = ShrinkWrap.create(VDBArchive.class, determineName()); final DefaultDeploymentFactory factory = new DefaultVDBDeploymentFactory(); factory.setup(archive); archive.addAllDependencies(); return archive; }