- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()
方法的一些代码示例,展示了WovenClass.getBundleWiring()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WovenClass.getBundleWiring()
方法的具体详情如下:
包路径:org.osgi.framework.hooks.weaving.WovenClass
类名称:WovenClass
方法名:getBundleWiring
[英]Returns the bundle wiring whose class loader will define the woven class.
[中]返回其类装入器将定义编织类的绑定。
代码示例来源:origin: org.apache.aries.proxy/org.apache.aries.proxy
public boolean isSuperClassWoven(WovenClass wovenClass)
{
ClassReader cReader = new ClassReader(wovenClass.getBytes());
try {
Class<?> superClass = Class.forName(cReader.getSuperName().replace('/', '.'), false,
wovenClass.getBundleWiring().getClassLoader());
return WovenProxy.class.isAssignableFrom(superClass);
} catch (ClassNotFoundException e) {
throw weavingException(wovenClass, e);
}
}
代码示例来源:origin: org.ops4j.pax.wicket/org.ops4j.pax.wicket.service
/** {@inheritDoc} */
public void weave(WovenClass wovenClass) {
try {
BundleWiring bundleWiring = wovenClass.getBundleWiring();
Bundle bundle = bundleWiring.getBundle();
synchronized (extendedBundles) {
if (extendedBundles.contains(bundle.getBundleId())) {
// Nothing to do
return;
}
extendedBundles.add(bundle.getBundleId());
}
LOGGER.debug("considering to add imports via weaving for bundle {} ",bundle.getSymbolicName());
ExtendedBundle extendedBundle = new ExtendedBundle(extendedBundleContext, bundle);
if (extendedBundle.isRelevantForImportEnhancements()) {
LOGGER.debug("Enhance DynamicImports of bundle {}...", bundle.getSymbolicName());
wovenClass.getDynamicImports().addAll(ADDITIONAL_IMPORTS);
}
} catch (RuntimeException e) {
LOGGER.warn("RuntimeException while trying to extend bundle imports");
}
}
代码示例来源:origin: ops4j/org.ops4j.pax.wicket
/** {@inheritDoc} */
public void weave(WovenClass wovenClass) {
try {
BundleWiring bundleWiring = wovenClass.getBundleWiring();
Bundle bundle = bundleWiring.getBundle();
synchronized (extendedBundles) {
if (extendedBundles.contains(bundle.getBundleId())) {
// Nothing to do
return;
}
extendedBundles.add(bundle.getBundleId());
}
LOGGER.debug("considering to add imports via weaving for bundle {} ",bundle.getSymbolicName());
ExtendedBundle extendedBundle = new ExtendedBundle(extendedBundleContext, bundle);
if (extendedBundle.isRelevantForImportEnhancements()) {
LOGGER.debug("Enhance DynamicImports of bundle {}...", bundle.getSymbolicName());
wovenClass.getDynamicImports().addAll(ADDITIONAL_IMPORTS);
}
} catch (RuntimeException e) {
LOGGER.warn("RuntimeException while trying to extend bundle imports");
}
}
代码示例来源:origin: org.apache.aries.proxy/org.apache.aries.proxy.impl
public boolean isSuperClassWoven(WovenClass wovenClass)
{
ClassReader cReader = new ClassReader(wovenClass.getBytes());
try {
Class<?> superClass = Class.forName(cReader.getSuperName().replace('/', '.'), false,
wovenClass.getBundleWiring().getClassLoader());
return WovenProxy.class.isAssignableFrom(superClass);
} catch (ClassNotFoundException e) {
String failureMessage = NLS.MESSAGES.getMessage("fatal.weaving.failure", wovenClass.getClassName());
//This is a failure that should stop the class loading!
LOGGER.error(failureMessage, e);
throw new WeavingException(failureMessage, e);
}
}
代码示例来源:origin: org.ops4j.pax.cdi/pax-cdi-weld
@Override
public void weave(WovenClass wovenClass) {
BundleWiring wiring = wovenClass.getBundleWiring();
Bundle bundle = wiring.getBundle();
Boolean seen = bundleMap.get(wiring);
if (seen != null) {
return;
}
boolean requiresWeaving = false;
if (isBeanBundle(bundle) || isExtension(bundle)) {
log.debug("weaving {}", wovenClass.getClassName());
wovenClass.getDynamicImports().add("org.jboss.weld.*");
requiresWeaving = true;
}
bundleMap.put(wiring, requiresWeaving);
}
代码示例来源:origin: org.apache.aries.jpa/org.apache.aries.jpa.container
@Override
public void weave(WovenClass wovenClass) {
BundleWiring wiring = wovenClass.getBundleWiring();
Bundle bundle = wiring.getBundle();
ClassLoader cl = wiring.getClassLoader();
Collection<ClassTransformer> transformersToTry = getTransformers(bundle);
for (ClassTransformer transformer : transformersToTry) {
if (transformClass(wovenClass, cl, transformer)) {
LOGGER.info("Weaving " + wovenClass.getClassName() + " using " + transformer.getClass().getName());
break;
}
}
Class<?> dClass = wovenClass.getDefinedClass();
if (transformersToTry.isEmpty() && dClass != null && dClass.getAnnotation(Entity.class) != null) {
LOGGER.warn("Loading " + wovenClass.getClassName() + " before transformer is present");
}
}
代码示例来源:origin: org.apache.aries.proxy/org.apache.aries.proxy
public final void weave(WovenClass wovenClass) {
BundleWiring bw = wovenClass.getBundleWiring();
wovenClass.getBundleWiring().getClassLoader());
代码示例来源:origin: org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle
@Override
public void weave(WovenClass wovenClass) {
Bundle consumerBundle = wovenClass.getBundleWiring().getBundle();
Set<WeavingData> wd = activator.getWeavingData(consumerBundle);
if (wd != null) {
activator.log(Level.FINE, "Weaving class " + wovenClass.getClassName());
ClassReader cr = new ClassReader(wovenClass.getBytes());
ClassWriter cw = new OSGiFriendlyClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES,
wovenClass.getBundleWiring().getClassLoader());
TCCLSetterVisitor tsv = new TCCLSetterVisitor(cw, wovenClass.getClassName(), wd);
cr.accept(tsv, ClassReader.SKIP_FRAMES);
if (tsv.isWoven()) {
wovenClass.setBytes(cw.toByteArray());
if (tsv.additionalImportRequired())
wovenClass.getDynamicImports().add(addedImport);
if (activator.isLogEnabled(Level.FINEST)) {
StringWriter stringWriter = new StringWriter();
ClassReader reader = new ClassReader(wovenClass.getBytes());
ClassVisitor tracer = new TraceClassVisitor(new PrintWriter(stringWriter));
ClassVisitor checker = new CheckClassAdapter(tracer, true);
reader.accept(checker, 0);
activator.log(Level.FINEST, "Woven class bytecode: \n" + stringWriter.toString());
}
}
}
}
}
代码示例来源:origin: org.apache.aries.proxy/org.apache.aries.proxy.impl
public final void weave(WovenClass wovenClass) {
BundleWiring bw = wovenClass.getBundleWiring();
wovenClass.getBundleWiring().getClassLoader());
代码示例来源:origin: org.apache.aries.jpa/org.apache.aries.jpa.container
private static boolean transformClass(WovenClass wovenClass, ClassLoader cl, ClassTransformer transformer)
throws ThreadDeath, OutOfMemoryError {
try {
byte[] result = transformer
.transform(cl,
wovenClass.getClassName(),
wovenClass.getDefinedClass(),
wovenClass.getProtectionDomain(),
wovenClass.getBytes());
if (result != null) {
wovenClass.setBytes(result);
wovenClass.getDynamicImports().add("org.eclipse.persistence.*");
wovenClass.getDynamicImports().add("org.apache.openjpa.*");
return true;
}
} catch (Exception t) {
Bundle b = wovenClass.getBundleWiring().getBundle();
String msg = String.format("Weaving failure on class %s in bundle %s/%s using transformer %s", wovenClass.getClassName(),
b.getSymbolicName(), b.getVersion(), transformer);
throw new WeavingException(msg, t);
}
return false;
}
代码示例来源:origin: net.osgiliath.framework/net.osgiliath.helper.pax-jpa.tx
@Override
public void weave(WovenClass wovenClass) {
if (wovenClass.getBundleWiring().getBundle() == puInfo.getBundle()
&& managedClasses.contains(wovenClass.getClassName())) {
try {
synchronized (this) {
LOG.debug("weaving {}", wovenClass.getClassName());
byte[] transformed = transformer.transform(cl, wovenClass.getClassName(),
wovenClass.getDefinedClass(), wovenClass.getProtectionDomain(),
wovenClass.getBytes());
wovenClass.setBytes(transformed);
/*
*
* TODO Hard-coded list of packages for OpenJPA and Eclipselink. We should only
* add the ones required for the given provider.
*/
wovenClass.getDynamicImports().add("org.apache.openjpa.enhance");
wovenClass.getDynamicImports().add("org.apache.openjpa.util");
wovenClass.getDynamicImports().add("org.eclipse.persistence.*");
wovenClass.getDynamicImports().add("org.hibernate.*");
wovenClass.getDynamicImports().add("javassist.util.proxy");
}
}
catch (IllegalClassFormatException exc) {
throw new WeavingException("cannot transform " + wovenClass.getClassName(), exc);
}
}
}
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
本文整理了Java中org.osgi.framework.hooks.weaving.WovenClass.getBundleWiring()方法的一些代码示例,展示了WovenClass.getBu
我是一名优秀的程序员,十分优秀!