2012-06-05 2 views
0

Я использую grails 2.0.0 M1 с эластичным поисковым плагином 0.18.7.1-SNAPSHOT.grails эластичный поиск данных ошибка привязки

Я могу установить это и увидеть, как он работает нормально, используя конфигурацию по умолчанию. Я также вижу, что мои объекты домена создаются и успешно добавляются в индекс из моего файла DBBootStrap.groovy.

Однако ...

При попытке создать только (не спасают) объект домена с веб-слоя (после того, как сценарий Bootstap успешно работать) я получаю следующее сообщение об ошибке:

def testco = new Company(name:"test"); 

Line | Method 
->> 13 | registerCustomEditors in  org.grails.plugins.elasticsearch.conversion.CustomEditorRegistar 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 38 | test     in com.tempism.company.CompanyController 
| 886 | runTask . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
| 908 | run     in  '' 
^ 619 | run . . . . . . . . . in java.lang.Thread 

Дальнейшее исследование показывает трассировку стеки с соответствующей деталью является ...

java.lang.NullPointerException 
    at groovy.lang.MetaClassImpl.addToAllMethodsIfPublic(MetaClassImpl.java:2975) 
    at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2954) 
    at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918) 
    at groovy.lang.ExpandoMetaClass.initialize(ExpandoMetaClass.java:468) 
    at  org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166) 
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182) 
    at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242) 
    at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallConstructorSite(CallSiteArray.java:71) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) 
    at org.grails.plugins.elasticsearch.conversion.CustomEditorRegistar.registerCustomEditors(CustomEditorRegistar.groovy:13) 
    at org.codehaus.groovy.grails.web.binding.GrailsDataBinder.registerCustomEditors(GrailsDataBinder.java:182) 
    at org.codehaus.groovy.grails.web.binding.GrailsDataBinder.registerCustomEditors(GrailsDataBinder.java:263) 
    at org.codehaus.groovy.grails.web.binding.GrailsDataBinder.createBinder(GrailsDataBinder.java:287) 
    at org.codehaus.groovy.grails.web.binding.DataBindingUtils.createDataBinder(DataBindingUtils.java:238) 
    at org.codehaus.groovy.grails.web.binding.DataBindingUtils.bindObjectToDomainInstance(DataBindingUtils.java:169) 
    at org.codehaus.groovy.grails.web.binding.DataBindingUtils.bindObjectToDomainInstance(DataBindingUtils.java:112) 
    at  org.codehaus.groovy.grails.plugins.web.api.ControllersDomainBindingApi.initialize(ControllersDomainBindingApi.java:57) 
    at com.tempism.company.Company.<init>(Company.groovy) 

Будучи относительно новой в Грааль, я понятия не имею, как создание объектов домена/DataBi nding может работать в контексте DBBootStrap, но НЕ в любом другом контексте (Service/Controller.

Любые идеи были бы весьма признательны.

ура.

UPDATE ...

//works 
def co = new Company(); 
co.name = "hello" 
co.save(); 

//doesn't work 
new Company(name:"hello2").save(); 
+0

причудлива инстанцирования нового объекта, обновления свойств работает, то сохранение работы. Но создание экземпляра с параметрами не ... – stewmorg

ответ

Смежные вопросы