[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] reconnect after server crash
Here's everything I have.
xmlBlaster.properties
#------------------------------------------------------------------------------
# Authentication and Authorization
Security.Server.Plugin[simple][1.0]=org.xmlBlaster.authentication.plugins.simple.Manager
Security.Server.Plugin[htpasswd][1.0]=org.xmlBlaster.authentication.plugins.htpasswd.Manager
Security.Server.Plugin.htpasswd.secretfile=${user.dir}${file.separator}xmlBlaster.htpasswd
Security.Client.Plugin[simple][1.0]=org.xmlBlaster.authentication.plugins.simple.ClientPlugin
Security.Client.Plugin[htpasswd][1.0]=org.xmlBlaster.authentication.plugins.htpasswd.ClientPlugin
#------------------------------------------------------------------------------
CbProtocolPlugin[XMLRPC][1.0]=org.xmlBlaster.protocol.xmlrpc.CallbackXmlRpcDriver
CbProtocolPlugin[LOCAL][1.0]=org.xmlBlaster.protocol.local.CallbackLocalDriver
CbProtocolPlugin[JDBC][1.0]=org.xmlBlaster.protocol.jdbc.CallbackJdbcDriver
#------------------------------------------------------------------------------
plugin/xmlrpc/port=8081
#------------------------------------------------------------------------------
# On client side only
# Register the client side protocol plugin to connect to server
ClientProtocolPlugin[XMLRPC][1.0]=org.xmlBlaster.client.protocol.xmlrpc.XmlRpcConnection
ClientProtocolPlugin[LOCAL][1.0]=org.xmlBlaster.client.protocol.local.LocalConnection
# Register the client side callback server plugins:
ClientCbServerProtocolPlugin[XMLRPC][1.0]=org.xmlBlaster.client.protocol.xmlrpc.XmlRpcCallbackServer
ClientCbServerProtocolPlugin[LOCAL][1.0]=org.xmlBlaster.client.protocol.local.LocalCallbackImpl
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Customize dispatcher plugin
dispatch/connection/DispatchPlugin/defaultPlugin=undef
dispatch/callback/DispatchPlugin/defaultPlugin=undef
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# MsgDistributor Plugin configuration
MsgDistributorPlugin[ConsumableQueue][1.0]=org.xmlBlaster.engine.distributor.plugins.ConsumableQueuePlugin
MsgDistributorPlugin/defaultPlugin=undef,1.0
#------------------------------------------------------------------------------
JdbcStorage[HSQLDatabaseEngine]=org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin,\
url=jdbc:hsqldb:${user.dir}${file.separator}db${file.separator}$_{xmlBlaster_uniqueId},\
user=sa,\
password=,\
connectionPoolSize=1,\
connectionBusyTimeout=90000,\
maxWaitingThreads=300,\
tableNamePrefix=XB_,\
entriesTableName=ENTRIES,\
dbAdmin=true
StoragePlugin[JDBC][1.0]=${JdbcStorage[HSQLDatabaseEngine]}
StoragePlugin[RAM][1.0]=org.xmlBlaster.engine.msgstore.ram.MapPlugin
StoragePlugin[CACHE][1.0]=org.xmlBlaster.engine.msgstore.cache.PersistenceCachePlugin,persistentQueue=JDBC,transientQueue=RAM
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Declare existing queue implementation plugins
# SEE:
http://www.xmlBlaster.org/xmlBlaster/doc/requirements/engine.queue.html
QueuePlugin[JDBC][1.0]=${JdbcStorage[HSQLDatabaseEngine]}
QueuePlugin[RAM][1.0]=org.xmlBlaster.util.queue.ram.RamQueuePlugin
QueuePlugin[CACHE][1.0]=org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin,persistentQueue=JDBC,transientQueue=RAM
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Customize queue and persistence properties
queue/history/maxEntriesCache = 10
queue/history/maxEntries = ${queue/history/maxEntriesCache}
queue/callback/maxEntriesCache = 1000
queue/callback/maxEntries = ${queue/callback/maxEntriesCache}
# How big is the topic cache for messages of same oid (here your message
content occupies the memory)
persistence/msgUnitStore/maxEntriesCache = 10000
persistence/msgUnitStore/maxEntries = 100000000
persistence/msgUnitStore/maxBytesCache = 2097152
persistence/msgUnitStore/maxBytes = 2147483647
# Tail back queue on client side (contains the real data of all message
types)
queue/connection/maxEntriesCache = 1000
queue/connection/maxEntries = 10000000
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
JdbcDriver.drivers=org.hsqldb.jdbcDriver:\
sun.jdbc.odbc.JdbcOdbcDriver
JdbcDriver.mapping[HSQLDatabaseEngine]=string=VARCHAR,longint=BIGINT,int=INTEGER,blob=BINARY,boolean=CHAR
#------------------------------------------------------------------------------
MimeAccessPlugin[ContentLenFilter][1.0]=org.xmlBlaster.engine.mime.demo.ContentLenFilter
MimeAccessPlugin[GnuRegexFilter][1.0]=org.xmlBlaster.engine.mime.regex.GnuRegexFilter
MimeAccessPlugin[XPathFilter][1.0]=org.xmlBlaster.engine.mime.xpath.XPathFilter
MimeAccessPlugin[Sql92Filter][1.0]=org.xmlBlaster.engine.mime.sql92.Sql92Filter
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Customize clustering
LoadBalancerPlugin[RoundRobin][1.0]=org.xmlBlaster.engine.cluster.simpledomain.RoundRobin
MapMsgToMasterPlugin[DomainToMaster][1.0]=org.xmlBlaster.engine.cluster.simpledomain.DomainToMaster,DEFAULT_DOMAIN=dummy
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Customize invocation recorder to queue tail back messages
RecorderPlugin[FileRecorder][1.0]=org.xmlBlaster.util.recorder.file.FileRecorder
RecorderPlugin[RamRecorder][1.0]=org.xmlBlaster.util.recorder.ram.RamRecorder
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Telnet access to xmlBlaster for administration
admin.remoteconsole.port=2702
admin.remoteconsole.sessionTimeout=600000
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Pluggable Loggers
LoggableDevicePlugin[file][1.0]=org.xmlBlaster.util.log.FileLogDeviceFactory,logFile=${user.dir}${file.separator}log${file.separator}xb.log
logDevice=file
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# When an XmlBlasterException is thrown, how to format the getMessage()
string, see:
XmlBlasterException.logFormat=XmlBlasterException errorCode=[{0}]
serverSideException={3} location=[{2}] message=[{4} : {8}] [See URL {9}]
LogFormat=[{0} {1}] {3}
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
LogFormat.Date=MEDIUM
LogFormat.Time=MEDIUM
#------------------------------------------------------------------------------
#
# JAXP parsers. Currently only crimson is actually possible to use.
#
javax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl
javax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl
#------------------------------------------------------------------------------
Here's xmlBlasterPlugins.xml
<xmlBlaster>
<!--========== SubscriptionPersistencePlugin =============-->
<plugin id='subPersistence'
className='org.xmlBlaster.engine.SessionPersistencePlugin'>
<action do='LOAD' onStartupRunlevel='3' sequence='1' />
<action do='STOP' onShutdownRunlevel='2' sequence='6'/>
</plugin>
<!--============= PROTOCOL PLUGINS ================-->
<!--
ProtocolPlugin[XMLRPC][1.0]=org.xmlBlaster.protocol.xmlrpc.XmlRpcDriver
-->
<plugin id='XMLRPC'
className='org.xmlBlaster.protocol.xmlrpc.XmlRpcDriver'>
<action do='LOAD' onStartupRunlevel='3' sequence='4'/>
<action do='STOP' onShutdownRunlevel='2' sequence='3'/>
</plugin>
<!--========== NATIVE SERVICE PLUGINS =============-->
<!--
ProtocolPlugin[JDBC][1.0]=org.xmlBlaster.protocol.jdbc.JdbcDriver -->
<plugin id='JDBC'
className='org.xmlBlaster.protocol.jdbc.JdbcDriver'>
<action do='LOAD' onStartupRunlevel='5' sequence='5' />
<action do='STOP' onShutdownRunlevel='4' sequence='1'/>
</plugin>
<!--===============================================-->
</xmlBlaster>
and my connect qos:
<qos>
<securityService type='htpasswd' version='1.0'>
<user>$user</user>
<passwd>$password</passwd>
</securityService>
<local>false</local>
<session name='$user/3' timeout='$timeout' maxSessions='1'
clearSessions='true' reconnectSameClientOnly='false'/>
<queue relating='subject' maxEntries='5000'
maxBytes='4000000' onOverflow='deadMessage' />
<queue relating='callback' maxEntries='5000'
maxBytes='4000000' onOverflow='deadMessage'>
<callback type='XMLRPC' retries='-1' delay='5000'
oneway='false' dispatchPlugin='undef'>
$cb
</callback>
</queue>
<duplicateUpdates>false</duplicateUpdates>
<persistent />
</qos>
I've tried hardcoding the paths in .properties thinking it might just
not find the password file, but still the same errors. Another thing I
just noticed is that when I start xmlBlaster up when QManager is not
running, the same errors are given.
Hopefully that all helps,
Kevin
On Thu, 2004-11-11 at 04:44, Michele Laghi wrote:
> Hi Kevin,
> I tried several different combinations and was not able to reproduce the
> error you described.
>
> Could you provide us with your:
>
> xmlBlaster.properties file (server- and client side if you have several),
>
> xmlBlasterPlugins.xml and command lines
>
> and additionally which settings you have hardcoded in your ConnectQos ?
>
> Regards
> Michele
>
>
> Kevin Priebe wrote:
> > Hi, we're having a problem with agents reconnecting after the xmlBlaster
> > server is restarted.
> >
> > The problem seems to only happen when we use the htpasswd file. We have
> > an agent called QManager authenticated through htpasswd and listening
> > for messages.
> >
> > We then shutdown the server and restart while QManager is still
> > running. QManager does not get any messages after this and we get these
> > errors while xmlBlaster is starting up:
> >
> > [Nov 10, 2004 2:18:14 PM WARN ] Access is denied: XmlBlasterException
> > errorCode=[user.security.authentication.accessDenied]
> > serverSideException=true location=[Session] message=[Authentication of
> > user QManager failed : ] [See URL
> > http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#user.security.authentication.accessDenied]
> >
> > [Nov 10, 2004 2:18:14 PM WARN ] DEBUG ONLY: The server is in run level
> > STANDBY_PRE and not ready for connect():
> > errorCode=user.security.authentication.accessDenied
> > message=Authentication of user QManager failed
> >
> > [Nov 10, 2004 2:18:14 PM WARN ] startupPlugins. Exception when loading
> > the plugin 'subPersistence' reason:
> > errorCode=resource.configuration.pluginFailed message=Initializing of
> > plugin subPersistence failed:XmlBlasterException
> > errorCode=[communication.noConnection.serverDeny]
> > serverSideException=true location=[AvailabilityChecker] message=[The
> > server is in run level STANDBY_PRE and not ready for connect() :
> > errorCode=user.security.authentication.accessDenied
> > message=Authentication of user QManager failed] [See URL
> > http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.serverDeny]
> >
> >
> > I guess it's not ready to be connected to when it's starting up, but it
> > never does connect. We don't have this problem when not using the
> > password file.
> >
> > We are still using xmlBlaster 0.91 and everything possible is set to be
> > persistent. Thanks for any help.
> >
> > Kevin
> >
> >
> >
> >
> >