OpenEngSB
  1. OpenEngSB
  2. OPENENGSB-3503

Domain provider for SQL-Domain returns NULL for domain interface

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: openengsb-3.0.0
    • Fix Version/s: openengsb-3.0.0.M1
    • Component/s: None
    • Labels:

      Description

      2013-01-17 12:49:36,023 | WARN  | Q Session Task-2 | RequestHandlerImpl               | 216 - org.openengsb.framework.services - 3.0.0.cdlflex-20 | Exception in remote method invocation:
      java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_07]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_07]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_07]
              at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_07]
              at org.openengsb.core.services.internal.RequestHandlerImpl.invokeMethod(RequestHandlerImpl.java:125)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.services.internal.RequestHandlerImpl.handleCall(RequestHandlerImpl.java:59)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at Proxy7b3a7400_53c4_4ac5_b0e5_5977eb80385e.handleCall(Unknown Source)[:]
              at Proxyaaa17a9a_d7cc_46fe_b88a_9ef22de8b4a9.handleCall(Unknown Source)[:]
              at org.openengsb.core.common.remote.RequestMapperFilter.doFilter(RequestMapperFilter.java:58)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.RequestMapperFilter.doFilter(RequestMapperFilter.java:43)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.AbstractFilterAction.filter(AbstractFilterAction.java:62)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.MessageAuthenticatorFilter.doFilter(MessageAuthenticatorFilter.java:84)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.MessageAuthenticatorFilter.doFilter(MessageAuthenticatorFilter.java:54)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.AbstractFilterAction.filter(AbstractFilterAction.java:62)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.MessageVerifierFilter.doFilter(MessageVerifierFilter.java:78)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.MessageVerifierFilter.doFilter(MessageVerifierFilter.java:53)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.AbstractFilterAction.filter(AbstractFilterAction.java:62)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.JsonSecureRequestStringMarshallerFilter.doFilter(JsonSecureRequestStringMarshallerFilter.java:73)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.services.filter.JsonSecureRequestStringMarshallerFilter.doFilter(JsonSecureRequestStringMarshallerFilter.java:50)[216:org.openengsb.framework.services:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.AbstractFilterAction.filter(AbstractFilterAction.java:62)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.core.common.remote.FilterChain.filter(FilterChain.java:38)[215:org.openengsb.framework.common:3.0.0.cdlflex-20]
              at org.openengsb.ports.jms.JMSIncomingPort$1.onMessage(JMSIncomingPort.java:74)[239:org.openengsb.ports.jms:3.0.0.cdlflex-20]
              at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:440)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:340)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.springframework.jms.listener.SimpleMessageListenerContainer$2.onMessage(SimpleMessageListenerContainer.java:316)[236:org.springframework.jms:3.1.2.RELEASE]
              at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1321)[230:org.apache.activemq.activemq-core:5.7.0]
              at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)[230:org.apache.activemq.activemq-core:5.7.0]
              at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)[230:org.apache.activemq.activemq-core:5.7.0]
              at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129)[230:org.apache.activemq.activemq-core:5.7.0]
              at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47)[230:org.apache.activemq.activemq-core:5.7.0]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_07]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_07]
              at java.lang.Thread.run(Thread.java:722)[:1.7.0_07]
      Caused by: java.lang.NullPointerException
              at java.lang.reflect.Proxy.getProxyClass(Proxy.java:366)[:1.7.0_07]
              at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:601)[:1.7.0_07]
              at org.openengsb.core.common.VirtualConnectorFactory.createProxy(VirtualConnectorFactory.java:70)
              at org.openengsb.core.common.VirtualConnectorFactory.createNewInstance(VirtualConnectorFactory.java:60)
              at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_07]
              at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_07]
              at org.openengsb.core.util.DefaultOsgiUtilsService$ServiceTrackerInvocationHandler.invoke(DefaultOsgiUtilsService.java:94)
              at $Proxy40.createNewInstance(Unknown Source)
              at org.openengsb.core.services.internal.ConnectorRegistrationManager.finishCreatingInstance(ConnectorRegistrationManager.java:139)
              at org.openengsb.core.services.internal.ConnectorRegistrationManager.createService(ConnectorRegistrationManager.java:129)
              at org.openengsb.core.services.internal.ConnectorRegistrationManager.updateRegistration(ConnectorRegistrationManager.java:99)
              at org.openengsb.core.services.internal.ConnectorManagerImpl.createWithId(ConnectorManagerImpl.java:143)
              at org.openengsb.core.services.internal.ConnectorManagerImpl.create(ConnectorManagerImpl.java:134)
              at Proxy1cdeaf1f_2609_4188_a66c_a9d2508e4444.create(Unknown Source)
              ... 36 more
      2013-01-17 12:49:40,245 | WARN  | 0.0.1:60189@6549 | Transport                        | 230 - org.apache.activemq.activemq-core -
      5.7.0 | Transport Connection to: tcp://127.0.0.1:60189 failed: java.net.SocketException: Connection reset

        Gliffy Diagrams

        Error rendering 'com.meetme.plugins.jira.gerrit-plugin:gerritreviewsmodule'. Please contact your JIRA administrators.

          Activity

          Hide
          Wolfgang Zeller added a comment -

          Hint:
          There is a check whether the domain implements the "Domain" interface in "org.openengsb.core.services.internal.DomainProviderManager". This check causes an Exception to be thrown.

          Show
          Wolfgang Zeller added a comment - Hint: There is a check whether the domain implements the "Domain" interface in "org.openengsb.core.services.internal.DomainProviderManager". This check causes an Exception to be thrown.
          Hide
          Andreas Pieber added a comment -

          The interesting question though: Why does your Domain get rejected? Is there a valid use case we've overseen or is there really something missing in your domain (e.g. the domain interface?)

          Show
          Andreas Pieber added a comment - The interesting question though: Why does your Domain get rejected? Is there a valid use case we've overseen or is there really something missing in your domain (e.g. the domain interface?)
          Hide
          Christoph Gritschenberger added a comment -

          Well, the SQLDomain-interface does not extend the Domain-interface

          Show
          Christoph Gritschenberger added a comment - Well, the SQLDomain-interface does not extend the Domain-interface
          Hide
          Andreas Pieber added a comment -

          the question is: should it?

          Show
          Andreas Pieber added a comment - the question is: should it?
          Hide
          Christoph Gritschenberger added a comment -

          At first I thought: No. But then I remembered that we decided to Lift the Restrictions for Connectors to implement their Domain. They still need to implement the Connector-interface. So I'd say yes.

          Show
          Christoph Gritschenberger added a comment - At first I thought: No. But then I remembered that we decided to Lift the Restrictions for Connectors to implement their Domain. They still need to implement the Connector-interface. So I'd say yes.
          Hide
          Andreas Pieber added a comment -

          So we're of the same mind here In that case I would like to change the issue type to improvement and the title to improve the exception in case a connector does not implement a domain interface (instead of the nullpointer exception). Fine with you?

          Show
          Andreas Pieber added a comment - So we're of the same mind here In that case I would like to change the issue type to improvement and the title to improve the exception in case a connector does not implement a domain interface (instead of the nullpointer exception). Fine with you?
          Hide
          Christoph Gritschenberger added a comment -

          Well in the SQLDomain (which is still part of framework atm) it's a bug. I think a separate improvement about the Exception-handling would be appropriate.

          Show
          Christoph Gritschenberger added a comment - Well in the SQLDomain (which is still part of framework atm) it's a bug. I think a separate improvement about the Exception-handling would be appropriate.
          Hide
          Andreas Pieber added a comment -

          OK, I think this should do the trick; before closing this issue I would really like someone to validate this; it's kind of hard doing this in a unit test and full itests for this situation are still missing and will not come before the new structure

          Show
          Andreas Pieber added a comment - OK, I think this should do the trick; before closing this issue I would really like someone to validate this; it's kind of hard doing this in a unit test and full itests for this situation are still missing and will not come before the new structure
          Hide
          Andreas Pieber added a comment -

          OK it seams that it works

          Show
          Andreas Pieber added a comment - OK it seams that it works

            People

            • Assignee:
              Andreas Pieber
              Reporter:
              Wolfgang Zeller
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: