The Rulebase Publisher
- Last Updated: May 29, 2026
- 1 minute read
- Semaphore
- Documentation
<bean id="rulebasePublisher" class="com.smartlogic.publisher.pak.PakFilePublisher">
<property name="classificationServerHost" value="localhost" />
<property name="classificationServerPort" value="5058" />
<property name="publishSetName" value="${model.name}" />
</bean>
The Rulebase Publisher will look through the publish configuration for all pak files that are generated and send them to the configured Classification Server.
Note, the rulebases will be sent to Classification Server before any Solr index is committed. This means that if the Classification Server push fails for any reason the SES index will not be made live.
Publishing to the Semaphore Cloud
If you are running Publisher outside the Semaphore Cloud, but are running Classification Server within the Semaphore Cloud, then you need to use a special Rulebase Publisher object. You can do this by replacing any existing “rulebasePublisher” section in the configuration file (you cannot have two sections with the same name) with the following:
<bean id="rulebasePublisher" class="com.smartlogic.publisher.pak.CloudPakFilePublisher">
<property name="tokenRequestURL" value="https://cloud.smartlogic.com/token" />
<property name="key" value="<<Semaphore Cloud API Key>>" />
<property name="classificationServerProtocol" value="<<Semaphore Cloud Classification endpoint URL protocol, e.g. https>>" />
<property name="classificationServerHost" value="<<Semaphore Cloud Classification endpoint URL server, e.g. cloud.smartlogic.com>>" />
<property name="classificationServerPort" value="<<Semaphore Cloud Classification endpoint URL port, e.g. 443>>" />
<property name="classificationServerPath" value="<<Semaphore Cloud Classification endpoint URL path>>" />
<property name="publishSetName" value="${model.name}" />
</bean>
The values enclosed in "<<" and ">>" above are available from the “Help” option of your “Basic API” interface in Semaphore Cloud. For example:
<bean id="rulebasePublisher" class="com.smartlogic.publisher.pak.CloudPakFilePublisher">
<property name="tokenRequestURL" value="https://cloud.smartlogic.com/token" />
<property name="key" value="I7m5xUBgN4cXcALgQZoXoQ==" />
<property name="classificationServerProtocol" value="https" />
<property name="classificationServerHost" value="cloud.smartlogic.com" />
<property name="classificationServerPort" value="443" />
<property name="classificationServerPath" value="/svc/8af261a1-566b-44f1-b9aa-a30981baa46e/" />
<property name="publishSetName" value="${model.name}" />
</bean>