Pieter created DERBY-5863:
-----------------------------

             Summary: Running Derby Network Server in an OSGi container
                 Key: DERBY-5863
                 URL: https://issues.apache.org/jira/browse/DERBY-5863
             Project: Derby
          Issue Type: Bug
            Reporter: Pieter
            Priority: Minor


I try to deploy the derby and derbynet bundles in an OSGi container and use it 
as a Derby Network Server. The feature seems to be there, but I did not get it 
working right away. I also could not find any documentation so I wonder if 
anyone has actually done it? With some tweaks I got it working, but I think 
some changes are needed. 

The derby bundle does have an EmbeddedActivator that attempts to bootstrap 
NetworkServerControlImpl (via DRDAServerStarter) to get an up and running Derby 
Network Server. However, the derbynet jar containing NetworkServerControlImpl 
is not an OSGi bundle. 

So my first step was to wrap the derbynet jar and make it a bundle. That was 
not enough, because NetworkServerControlImpl used derby internal classes which 
are not exported by the derby bundle. I got around that by creating a 
fragment-bundle that exports packages needed by derbynet:
{code}
Fragment-Host: derby
Export-Package: org.apache.derby.catalog,
  org.apache.derby.iapi.db,
  org.apache.derby.iapi.error,
  org.apache.derby.iapi.jdbc,
  org.apache.derby.iapi.services.i18n,
  org.apache.derby.iapi.services.info,
  org.apache.derby.iapi.services.io,
  org.apache.derby.iapi.services.jmx,
  org.apache.derby.iapi.services.monitor,
  org.apache.derby.iapi.services.property,
  org.apache.derby.iapi.services.stream,
  org.apache.derby.iapi.store.access.xa,
  org.apache.derby.iapi.tools.i18n,
  org.apache.derby.iapi.util,
  org.apache.derby.impl.jdbc,
  org.apache.derby.mbeans,
  org.apache.derby.security
Import-Package: org.apache.derby.impl.drda
{code}
With this fragment I am able to connect the the Derby Network Server.

Exporting these packages is not nice and I think a more elegant solution is 
needed. Merging the derbynet jar into the derby jar would fix it, again not a 
solution that will get much votes I think. Make derbynet a fragment of derby?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to