Hi,

I think proxies are a bit problematic. I would prefer the non-proxy
version.

Regards,
Thomas


On 27/03/14 10:41, "Chetan Mehrotra" <chetan.mehro...@gmail.com> wrote:

>On Thu, Mar 27, 2014 at 2:30 PM, Julian Reschke <julian.resc...@gmx.de>
>wrote:
>> I created the first one, and use it occasionally for debugging. (it's
>> similar to the Logging*Wrapper. Please do not remove.
>
>Okie but there already one preset in Util. Are they different? If not
>we should keep only one
>
>> Example?
>
>Something like
>public class SynchronizedDocumentStoreWrapper2 {
>
>    public static DocumentStore create(DocumentStore documentStore){
>        return (DocumentStore) Proxy.newProxyInstance(
>                SynchronizedDocumentStoreWrapper2.class.getClassLoader(),
>                new Class[] {DocumentStore.class},
>                new DocumentStoreProxy(documentStore));
>    }
>
>    private static class DocumentStoreProxy implements InvocationHandler {
>        private final DocumentStore delegate;
>        private final Object lock = new Object();
>
>        private DocumentStoreProxy(DocumentStore delegate) {
>            this.delegate = delegate;
>        }
>
>        @Override
>        public Object invoke(Object proxy, Method method, Object[]
>args) throws Throwable {
>            synchronized (lock){
>                return method.invoke(delegate, args);
>            }
>        }
>    }
>}
>
>Chetan Mehrotra

Reply via email to