Apache jUDDICommunity Documentation

Chapter 10. Administration

10.1. Introduction
10.2. Changing the Listener Port
10.3. Changing the Oracle Sequence name
10.4. Persistence

General Stuff about administration.

If you want to change the port Tomcat listens on to something non-standard (something other than 8080):

If you are using Hibernate as a persistence layer for jUDDI, then Oracle will generate a default sequence for you ("HIBERNATE_SEQUENCE"). If you are using hibernate elsewhere, you may wish to change the sequence name so that you do not share this sequence with any other applications. If other applications try to manually create the default hibernate sequence, you may even run into situations where you find conflicts or a race condition.

The easiest way to handle this is to create an orm.xml file and place it within the classpath in a META-INF directory, which will override the jUDDI persistence annotations and will allow you to specify a specific sequence name for use with jUDDI. The following orm.xml specifies a "juddi_sequence" sequence to be used with jUDDI.

<entity-mappings
  xmlns="http://java.sun.com/xml/ns/persistence/orm"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
  version="1.0">
  
  <sequence-generator name="juddi_sequence" sequence-name="juddi_sequence"/>

  <entity class="org.apache.juddi.model.Address">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.AddressLine">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.BindingDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.BusinessDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.BusinessIdentifier">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.BusinessName">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.CategoryBag">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.Contact">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.ContactDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.DiscoveryUrl">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.Email">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.InstanceDetailsDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.InstanceDetailsDocDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

 <entity class="org.apache.juddi.model.KeyedReference">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.KeyedReferenceGroup">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.OverviewDoc">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.OverviewDocDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.PersonName">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.Phone">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.ServiceDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.ServiceName">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.SubscriptionMatch">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.TmodelDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.TmodelIdentifier">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.TmodelInstanceInfo">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.TmodelInstanceInfoDescr">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.TransferTokenKey">
    <attributes>
      <id name="id">
        <generated-value generator="juddi_sequence" strategy="AUTO"/>
      </id>
    </attributes>
  </entity>

  <entity class="org.apache.juddi.model.BindingTemplate">
    <attributes>
      <basic name="accessPointUrl">
        <column name="access_point_url" length="4000"/>
      </basic>
    </attributes>
  </entity>
</entity-mappings>

jUDDI supports both OpenJPA and Hibernate as persistence providers. If you are embedding jUDDI, it is important to note that there are two JARs provided through maven. If you will be using Hibernate, please use the juddi-core JAR, if you are using OpenJPA, use juddi-core-openjpa.

The difference between these JARs is that the persistence classes within juddi-core-openjpa have been enhanced (http://people.apache.org/~mprudhom/openjpa/site/openjpa-project/manual/ref_guide_pc_enhance.html). Unfortunately, the Hibernate classloader does not deal well with these enhanced classes, so it it important to note not to use the juddi-core-openjpa JAR with Hibernate.