سؤال

ولدي وجهة BlazeDS ويتم تعيين نطاق لطلب. هل هناك طريقة للحصول على BlazeDS للاتصال تدمير () عند طلب اكتمال؟ هل هناك طريقة أخرى لمعرفة متى طلب اكتمال؟

وأعرف أنني أستطيع أن استخدام الصيغة النهائية ()، ولكن الذي يسمى فقط عند حدوث جمع القمامة.

وشكرا، مات

هل كانت مفيدة؟

المحلول 2

وبعد التصفح من خلال رمز BlazeDS مصدر فكنت أحسب كيفية تحقيق ذلك عن طريق استخدام محول مخصص. هنا هو مصدر.

package mypackage.adapters;

import java.lang.reflect.Method;
import java.util.Vector;

import flex.messaging.services.remoting.RemotingDestination;
import flex.messaging.services.remoting.adapters.JavaAdapter;
import flex.messaging.util.MethodMatcher;

public class MyAdapter extends JavaAdapter {
    protected void saveInstance(Object instance) {
        try {
            MethodMatcher methodMatcher = ((RemotingDestination)getDestination()).getMethodMatcher();
            Method method = methodMatcher.getMethod(instance.getClass(), "destroy", new Vector());
            if ( method != null ) {
                method.invoke(instance);
            }
        }
        catch ( Exception ex ) {
            ex.printStackTrace(System.out);
        }

        super.saveInstance(instance);
    }
}

نصائح أخرى

لماذا لا يمكنك إرفاقه نهاية طلبك معالج؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top