@Override protected void addInstrumentation(final BundleContext context) { super.addInstrumentation(context); ClassAdapterFactory factory = new EhcacheCacheManagerClassAdapter(); TransparencyClassSpec spec = configHelper.getOrCreateSpec(CACHE_MANAGER_CLASS_NAME_DOTS); spec.setCustomClassAdapter(factory); }
spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ConcurrentDistributedMapDsoApplicator.class; spec.setHonorTransient(true); spec = configHelper.getOrCreateSpec("org.terracotta.collections.quartz.DistributedSortedSet$Storage"); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.setPostCreateMethod("startEviction"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("initializeOnLoad"); spec.setHonorTransient(true); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.setHonorTransient(true);
private void configureServerMap() { TransparencyClassSpec spec; spec = this.configHelper.getOrCreateSpec("org.terracotta.collections.ConcurrentDistributedServerMap"); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec = this.configHelper .getOrCreateSpec("com.terracotta.toolkit.collections.ConcurrentDistributedServerMapDsoArray"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec = this.configHelper.getOrCreateSpec(CDSM_DSO_CLASSNAME, CDSM_DSO_APPLICATOR_CLASSNAME); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); spec.setIgnoreRewrite(true); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ConcurrentDistributedServerMapDsoApplicator.class; } }); } }
protected final void addInstrumentation(final BundleContext context) { super.addInstrumentation(context); configHelper.getOrCreateSpec("org.terracotta.modules.wan.collections.WANConcurrentMap"); TransparencyClassSpec spec = configHelper.getOrCreateSpec(WAN_DSO_CLASSNAME); TransparencyClassSpec csmspec = new TransparencyClassSpecImpl("java.util.HashMap", null, WAN_DSO_APPLICATOR_CLASSNAME); spec.moveToLogical(csmspec); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); addExportedBundleClass(context.getBundle(), WAN_DSO_APPLICATOR_CLASSNAME); } }
protected void addInstrumentation(BundleContext context) { ClassAdapterFactory factory = new BundleContextAdaptorFactory(); TransparencyClassSpec spec = configHelper.getOrCreateSpec("org.eclipse.osgi.framework.internal.core.BundleContextImpl"); spec.setCustomClassAdapter(factory); // Initialize and add the EquinoxFWClassLoader Factory Adaptor TransparencyClassSpec equinoxFwClassLoaderSpec = configHelper.getOrCreateSpec("org.eclipse.osgi.launch.Equinox"); ClassAdapterFactory equinoxClassLoaderFactory = new EquinoxFWClassloaderAdaptorFactory(); equinoxFwClassLoaderSpec.addCustomClassAdapter(equinoxClassLoaderFactory); ClassAdapterFactory baseDataAdaptorFactory = new BaseDataAdaptorFactory(); TransparencyClassSpec baseDataClassSpec = configHelper.getOrCreateSpec("org.eclipse.osgi.baseadaptor.BaseData"); baseDataClassSpec.setCustomClassAdapter(baseDataAdaptorFactory); } }
configHelper.addIncludePattern("com.tcclient.ehcache.*", false, false, false); TransparencyClassSpec spec = configHelper.getOrCreateSpec("com.tcclient.cache.CacheDataStore"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("initialize"); spec.addDistributedMethodCall("stopInvalidatorThread", "()V", false); spec = configHelper.getOrCreateSpec("com.tcclient.cache.CacheData"); spec.setCallConstructorOnLoad(true); spec.setHonorTransient(true); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(CacheProviderAdapter.FACTORY);
spec.markPreInstrumented(); spec.setCallConstructorOnLoad(true); spec.addTransient("localSqlMapSession"); spec.setCallConstructorOnLoad(true); spec.setCustomClassAdapter(factory); spec.addTransient("activeConnections"); spec.addTransient("idleConnections"); configHelper.addAutolock("* com.ibatis.common.jdbc.SimpleDataSource.*(..)", ConfigLockLevel.WRITE); spec.addTransient("outParamPlan"); spec.addTransient("parameterPlan"); spec.addTransient("remappableResultMappings"); spec.addTransient("transaction"); spec.addTransient("transactionState"); spec.addTransient("savedTransactionState"); spec.addTransient("resultSet"); spec.setCallConstructorOnLoad(true); spec.addTransient("transactionMode"); spec.addTransient("contextInTransactionList"); spec.setCallConstructorOnLoad(true); spec.addTransient("transaction"); spec.addTransient("state");
spec.addTransient("session"); factory = new AbstractPersistentCollectionClassAdapter.Factory(); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setHonorTransient(true); factory = new PersistentSetClassAdapter.Factory(); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); configHelper.addIncludePattern("org.hibernate.collection.AbstractPersistentCollection", false, false, false);
spec.addAlwaysLogSpec(ProcessingBucketItemsApplicator.SerializationUtil.ADD_SIGNATURE); spec.addAlwaysLogSpec(ProcessingBucketItemsApplicator.SerializationUtil.REMOVE_AT_SIGNATURE); spec.addAlwaysLogSpec(ProcessingBucketItemsApplicator.SerializationUtil.CLEAR_SIGNATURE); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ProcessingBucketItemsApplicator.class; spec.setCallMethodOnLoad("onLoad"); spec.setCallMethodOnLoad("onLoad");
protected void addInstrumentation(final BundleContext context) { TransparencyClassSpec spec = configHelper.getOrCreateSpec("org.terracotta.searchable.SearchableMapImpl","com.tc.object.applicator.PartialHashMapApplicator"); TransparencyClassSpec tableSpec = new TransparencyClassSpecImpl("gnu.trove.THashMap", null, "com.tc.object.applicator.PartialHashMapApplicator"); spec.moveToLogical(tableSpec); spec.moveToLogical(tableSpec); spec.setHonorTransient(true); configHelper.getOrCreateSpec("org.terracotta.modules.searchable.eviction.TimeStampEntry"); configHelper.getOrCreateSpec("org.terracotta.searchable.config.DefaultEvictionConfigImpl"); spec = configHelper.getOrCreateSpec("org.terracotta.searchable.config.DataStoreConfiguration"); spec.setHonorTransient(true); spec = configHelper.getOrCreateSpec("org.terracotta.searchable.config.SearchableMapConfig"); spec.setHonorTransient(true); spec = configHelper.getOrCreateSpec("org.terracotta.searchable.serialization.DsoSerializationStrategy"); spec = configHelper.getOrCreateSpec("org.terracotta.searchable.serialization.ObjectStreamClassSerializer"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("initialize"); super.addExportedBundleClass(getThisBundle(), "com.tc.object.applicator.SearchableMapApplicator");
private void doAutoconfig() throws Exception { TransparencyClassSpec spec; spec = getOrCreateSpec("java.lang.Object"); spec.setCallConstructorOnLoad(true); }
.setPostCreateMethod("startEviction"); .setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return SerializedEntryApplicator.class; .setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(Class type) { return CustomLifespanSerializedEntryApplicator.class;
spec.addCustomClassAdapter(factory); spec.addCustomClassAdapter(factory);
private void configureServerMap() { TransparencyClassSpec spec; spec = this.configHelper.getOrCreateSpec("org.terracotta.collections.ConcurrentDistributedServerMap"); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec.setCallMethodOnLoad("onLoad"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); spec.setIgnoreRewrite(true); spec.setHonorTransient(true); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ConcurrentDistributedServerMapDsoApplicator.class;
spec.addCustomClassAdapter(new ClassAdapterFactory() { public ClassAdapter create(final ClassVisitor cv, final ClassLoader cl) { return new AddInterfacesAdapter(cv, new String[] { NotClearable.class.getName().replace('.', '/'),
spec.setHonorTransient(true); spec.setHonorTransient(true); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ConcurrentDistributedMapDsoApplicator.class; spec.setHonorTransient(true); spec = configHelper.getOrCreateSpec("org.terracotta.collections.quartz.DistributedSortedSet$Storage"); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.setPostCreateMethod("startEviction"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("initializeOnLoad"); spec.setHonorTransient(true);
protected void addInstrumentation(BundleContext context) { super.addInstrumentation(context); Bundle bundle = getExportedBundle(context, getExportedBundleName()); ClassAdapterFactory factory = new CacheManagerAdapterFactory(configHelper, "net.sf.ehcache.CacheManager", "net.sf.ehcache.CacheManagerTC", bundle); TransparencyClassSpec spec = configHelper.getOrCreateSpec("net.sf.ehcache.CacheManager"); spec.setCustomClassAdapter(factory); addClassReplacement(bundle, CACHE_CLASS_NAME_DOTS, CACHETC_CLASS_NAME_DOTS); addClassReplacement(bundle, "net.sf.ehcache.Cache$1", "net.sf.ehcache.CacheTC$1"); factory = new CacheAdapterFactory(); spec = configHelper.getOrCreateSpec("net.sf.ehcache.Cache"); spec.setCustomClassAdapter(factory); if (null == bundle) { throw new RuntimeException("Couldn't find bundle with symbolic name '" + getExportedBundleName() + "' during the instrumentation configuration of the bundle '" + context.getBundle().getSymbolicName() + "'."); } addExportedBundleClass(bundle, "net.sf.ehcache.config.ConfigurationHelperTC"); }
spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new TCMapAdapter()); spec.setHonorTransient(true); spec.setCallMethodOnLoad("onLoad"); spec.setUseNonDefaultConstructor(true); spec.setCallConstructorOnLoad(true); spec.setChangeApplicatorSpec(new ChangeApplicatorSpec() { public Class getChangeApplicator(final Class target) { return ConcurrentDistributedMapDsoApplicator.class; spec.setHonorTransient(true); spec = configHelper.getOrCreateSpec("org.terracotta.collections.quartz.DistributedSortedSet$Storage"); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.setPostCreateMethod("startEviction"); spec.setHonorTransient(true); spec.setCallMethodOnLoad("initializeOnLoad"); spec.setHonorTransient(true); spec.setHonorTransient(true); spec.addCustomClassAdapter(new NotClearableAdapter()); spec.addCustomClassAdapter(new NotClearableAdapter());
@Override protected void addInstrumentation(BundleContext context) { super.addInstrumentation(context); Bundle bundle = getExportedBundle(context, getExportedBundleName()); ClassAdapterFactory factory = new CacheManagerAdapterFactory(configHelper, "net.sf.ehcache.CacheManager", "net.sf.ehcache.CacheManagerTC", bundle); TransparencyClassSpec spec = configHelper.getOrCreateSpec("net.sf.ehcache.CacheManager"); spec.setCustomClassAdapter(factory); addClassReplacement(bundle, CACHE_CLASS_NAME_DOTS, CACHETC_CLASS_NAME_DOTS); addClassReplacement(bundle, "net.sf.ehcache.Cache$1", "net.sf.ehcache.CacheTC$1"); factory = new CacheAdapterFactory(); spec = configHelper.getOrCreateSpec("net.sf.ehcache.Cache"); spec.setCustomClassAdapter(factory); if (null == bundle) { throw new RuntimeException("Couldn't find bundle with symbolic name '" + getExportedBundleName() + "' during the instrumentation configuration of the bundle '" + context.getBundle().getSymbolicName() + "'."); } addExportedBundleClass(bundle, "net.sf.ehcache.config.ConfigurationHelperTC"); }
ClassAdapterFactory factory = new JobDetailAdapter(); TransparencyClassSpec spec = configHelper.getOrCreateSpec("org.quartz.JobDetail"); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory); spec.setCustomClassAdapter(factory);