/** * This is used by DistributedState.buildObject when the DistributedState object is * serialized across the wire and must recreate the object it represents */ public void addVersioning(DistributedPOJOState manager, Advised advised) { StateManager.setStateManager(advised, manager); StateChangeInterceptor interceptor = new StateChangeInterceptor(manager); org.jboss.aop.metadata.SimpleMetaData metaData = advised._getInstanceAdvisor().getMetaData(); metaData.addMetaData(VERSION_MANAGER, VERSION_ID, manager.getGUID()); advised._getInstanceAdvisor().appendInterceptor(interceptor); }
public Object createVersion(Transaction tx) throws Exception { final Object version; final long versionId; lock.acquire(); try { version = new MarshalledValue(currentObject).get(); if (version instanceof Advised) { // REVISIT: Currently share the InstanceAdvisor between versions Advised versionAdvised = (Advised)version; Advised currentAdvised = (Advised)currentObject; versionAdvised._setInstanceAdvisor(currentAdvised._getInstanceAdvisor()); } versionId = ++versionIdGenerator; } finally { lock.release(); } tx.registerSynchronization(new VersionSynchronization(tx, versionId, version)); txLocal.set(tx, version); return version; }
private InstanceAdvisor getInstanceAdvisor(Invocation invocation, Object targetObject) { if (targetObject instanceof Advised) { Advised advised = (Advised) targetObject; return advised._getInstanceAdvisor(); } Advisor advisor = invocation.getAdvisor(); if (advisor != null) { if (advisor instanceof InstanceAdvisor) { return (InstanceAdvisor) advisor; } if (advisor instanceof ClassProxyContainer && invocation instanceof ContainerProxyMethodInvocation) { ContainerProxyMethodInvocation pi = (ContainerProxyMethodInvocation)invocation; return pi.getProxy().getInstanceAdvisor(); } } return null; }
private InstanceAdvisor getInstanceAdvisor(Invocation invocation, Object targetObject) { if (targetObject instanceof Advised) { Advised advised = (Advised) targetObject; return advised._getInstanceAdvisor(); } Advisor advisor = invocation.getAdvisor(); if (advisor == null) { return null; } if (advisor instanceof InstanceAdvisor) { return (InstanceAdvisor) advisor; } if (advisor instanceof ClassProxyContainer && invocation instanceof ContainerProxyMethodInvocation) { ContainerProxyMethodInvocation pi = (ContainerProxyMethodInvocation)invocation; return pi.getProxy().getInstanceAdvisor(); } return null; }
InstanceAdvisor advisor = advised._getInstanceAdvisor(); aspect = advisor.getPerInstanceJoinpointAspect(joinpoint, aspectDefinition); instanceAdvisor = advised._getInstanceAdvisor();
InstanceAdvisor advisor = advised._getInstanceAdvisor(); aspect = advisor.getPerInstanceAspect(aspectDefinition); instanceAdvisor = advised._getInstanceAdvisor();
org.jboss.aop.metadata.SimpleMetaData metaData = advised._getInstanceAdvisor().getMetaData(); GUID guid; synchronized (metaData) StateChangeInterceptor interceptor = new StateChangeInterceptor(manager); manager.acquireWriteLock(); advised._getInstanceAdvisor().appendInterceptor(interceptor); try
InstanceAdvisor advisor = advised._getInstanceAdvisor(); Interceptor interceptor = (Interceptor) advisor.getPerInstanceJoinpointAspect(joinpoint, aspectDefinition); if (interceptor != null)
InstanceAdvisor advisor = advised._getInstanceAdvisor(); Interceptor interceptor = (Interceptor) advisor.getPerInstanceAspect(aspectDefinition); if (interceptor != null)
advisor = ((Advised) obj)._getInstanceAdvisor(); clazz = obj.getClass(); Dispatcher.singleton.registerTarget(objectId, obj);