cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Willerding <awillerd...@itsurcom.com>
Subject Re: Help with an ServiceException and deprecated method
Date Mon, 04 Sep 2017 17:48:51 GMT
Hi Nikita

You were right.  I'm just learning how to use Maven and the cayenne-di 
wasn't included in a sub-project that my project was dependent on even 
though the cayenne-di library "appeared" to be included automatically in 
my dependent project.

I also substituted your cleaner version of ServerModule and it worked 
perfectly.  I sometimes struggle with trying to understand the 
configuration options of Cayenne especially between the releases.  I 
don't pretend to get how Cayenne works at the lower levels but I'm very 
happy to use it as a simple user.  ;-)

Thank you for your assistance.

Andrew



On 09/04/2017 11:32 AM, Nikita Timofeev wrote:
> Hi Andrew,
>
>> java.lang.NoSuchMethodError: org.apache.cayenne.di.spi.Modu
> leLoader.load(Ljava/lang/Class;)Ljava/util/List;
> This seems like binary incompatibility with cayenne-di lib, have you tried
> to rebuild whole project? And how do you include Cayenne, is it Maven?
>
>> binder.bindMap(Constants.PROPERTIES_MAP).put(Constants.SERVER_CONTEXTS_SYNC_PROPERTY,
> "false");
> This should be replaced with cleaner ServerModule.
> contributeProperties(binder).put(Constants.SERVER_CONTEXTS_SYNC_PROPERTY,
> "false");
>
>
> On Mon, Sep 4, 2017 at 5:42 PM, Andrew Willerding <awillerding@itsurcom.com>
> wrote:
>
>> Hi,
>>
>> I am trying to use a custom location for the cayenne configuration files
>> and I'm getting the exception below on the following code on the line that
>> executes ServerRuntime.builder() and I don't know what is missing.
>> I'm using version 4.0.B1.
>> I am also not sure how to replace the deprecated bindMap call with the
>> proper replacement method.
>>
>> Any help and insight would be greatly appreciated,
>>
>> Andrew
>>
>>          if (!serverRuntimeList.containsKey(pathToCayenneXMLFile)) {
>>              Module myModule = (Binder binder) -> {
>>                  binder.bind(ResourceLocator.class).toInstance(new
>> FilesystemResourceLocator(pathForCayenne));
>>                  binder.bindMap(Constants.PROPE
>> RTIES_MAP).put(Constants.SERVER_CONTEXTS_SYNC_PROPERTY, "false");
>>                  //binder.bind(QueryCache.class
>> ).to(EhCacheQueryCache.class);
>>              };
>>              runtime = ServerRuntime.builder().addCon
>> fig(cayenneXMLFileName)
>>                      .addModule(myModule)
>>                      .build();
>>              if (runtime != null) {
>>                  serverRuntimeList.put(pathToCayenneXMLFile, runtime);
>>              } else {
>>                  throw new RuntimeException("ORMCayenne Error");
>>              }
>>          }
>>
>>
>> javax.servlet.ServletException: com.vaadin.server.ServiceException:
>> java.lang.NoSuchMethodError: org.apache.cayenne.di.spi.Modu
>> leLoader.load(Ljava/lang/Class;)Ljava/util/List;
>>          com.vaadin.server.VaadinServlet.service(VaadinServlet.java:383)
>>          javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>          org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>          org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log
>> 4jServletFilter.java:71)
>>
>> *root cause*
>>
>> com.vaadin.server.ServiceException: java.lang.NoSuchMethodError:
>> org.apache.cayenne.di.spi.ModuleLoader.load(Ljava/lang/Class
>> ;)Ljava/util/List;
>>          com.vaadin.server.VaadinService.handleExceptionDuringRequest
>> (VaadinService.java:1620)
>>          com.vaadin.server.VaadinService.handleRequest(VaadinService.
>> java:1580)
>>          com.vaadin.server.VaadinServlet.service(VaadinServlet.java:381)
>>          javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>          org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>          org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log
>> 4jServletFilter.java:71)
>>
>> *root cause*
>>
>> java.lang.NoSuchMethodError: org.apache.cayenne.di.spi.Modu
>> leLoader.load(Ljava/lang/Class;)Ljava/util/List;
>>          org.apache.cayenne.configuration.server.ServerRuntimeBuilder
>> .autoLoadedModules(ServerRuntimeBuilder.java:238)
>>          org.apache.cayenne.configuration.server.ServerRuntimeBuilder
>> .build(ServerRuntimeBuilder.java:226)
>>          com.callistacti.clientbase.ClientBaseAdmin.getServerRuntime(
>> ClientBaseAdmin.java:304)
>>          com.callistacti.clientbase.ClientBaseAdmin.initClientBaseAdm
>> in(ClientBaseAdmin.java:91)
>>          com.callistacti.clientbase.UI_ClientBase.<clinit>(UI_ClientB
>> ase.java:62)
>>          java.lang.Class.forName0(Native Method)
>>          java.lang.Class.forName(Class.java:348)
>>          com.vaadin.server.DefaultUIProvider.getUIClass(DefaultUIProv
>> ider.java:33)
>>          com.vaadin.server.BootstrapHandler.synchronizedHandleRequest
>> (BootstrapHandler.java:400)
>>          com.vaadin.server.SynchronizedRequestHandler.handleRequest(S
>> ynchronizedRequestHandler.java:41)
>>          com.vaadin.server.VaadinService.handleRequest(VaadinService.
>> java:1568)
>>          com.vaadin.server.VaadinServlet.service(VaadinServlet.java:381)
>>          javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>          org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte
>> r.java:52)
>>          org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log
>> 4jServletFilter.java:71)
>>
>>
>


Mime
View raw message