2016-12-02 4 views
-1

У меня возникли проблемы с выполнением некоторых правил в drools. Код отлично работает при выполнении приложения javafx через intelijj, но он не работает при запуске через java webStart (jnlp). Ошибка следующий:Drools Исключение из-за исключения для правила «XXX» доступ запрещен

Исключения выполнения последствия для правила "Человек DOB или TIN FATCA" в defaultpkg: java.security.AccessControlException: Доступ запрещен ("java.lang.RuntimePermission" «accessClassInPackage.sun.reflect.generics .reflectiveObjects ") в org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException (DefaultConsequenceExceptionHandler.java:39) в org.drools.core.common.DefaultAgenda.fireActivation (DefaultAgenda.java:1083)

.....

Правила ошибки являются случайными, это не всегда t это же правило, которое терпит неудачу. правило в этом случае:

rule "Person DOB or TIN FATCA" 
when 
    tr : TaxReturn(taxAuthority != Country.ZA) 
    fi : FinancialInstitution () from tr.financialInstitution 
    ar : AccountReport (accountHolderType == AccountHolderType.Individual) from fi.accountReport 
    ah : AccountHolder () from ar.accountHolder 
    pe : Person ((birthDate == null || birthDate.toString().isEmpty()) && taxIdentification.isEmpty()) from ah.individual 
then 
    Message msg = new Message (ar.getAccountHolderType().toString(),"E","EIAR001",pe.getIndex(),"birthDate", pe.getIndex()); 
    trData.addMessage(msg.getIndex() +"_"+ msg.getField(), msg); 
    msg = new Message (ar.getAccountHolderType().toString(),"E","EIAR012",pe.getIndex(),"idNumber", pe.getIndex()); 
    trData.addMessage(msg.getIndex() +"_"+ msg.getField(), msg); 
    msg = new Message (ar.getAccountHolderType().toString(),"E","EIAR012",pe.getIndex(),"idType", pe.getIndex()); 
    trData.addMessage(msg.getIndex() +"_"+ msg.getField(), msg); 
    msg = new Message (ar.getAccountHolderType().toString(),"E","EIAR012",pe.getIndex(),"idCountry", pe.getIndex()); 
    trData.addMessage(msg.getIndex() +"_"+ msg.getField(), msg); 
end 

Кроме того, эта ошибка возникает только в определенных условиях, с различными объектами, заполненными в Любая помощь приветствуется..

ответ

0

я узнал, что проблема была:

В нашем классе сообщений у нас есть два метода, которые были метательными новый NotImplementedException. Это не было поддержано, поэтому нам пришлось изменить исключение, выбрасываемое в UnsupportedOperationException. Надеюсь, это поможет любому, у кого есть подобные проблемы.