OneClick client shows no data, wether alarms, events or models:
The following error is seen in the Spectrum OneClick server log - $SPECROOT/tomcat/logs/catalina.out
2024-12-16 21:41:58,919 [Catalina-utility-1] INFO org.apache.catalina.webresources.Cache - The background cache eviction process was unable to free [10] percent of the cache for Context [/spectrum]- consider increasing the maximum size of the cache. After eviction approximately [9,419] KiB of data remained in the cache.
And after that, hundreds of wait statements:
2024-12-16 22:07:33,305 [VBJ ThreadPool Worker id=59246 se=iiop_tp scm=iiop_tp orb=1b1e2836] INFO System.out - "WritingThread Socket[addr=server/xxx.xxx.xxx.xxx,port=14002,localport=33650] orb=1b1e2836" daemon prio=5 tid=230 waiting
2024-12-16 22:07:33,305 [VBJ ThreadPool Worker id=59246 se=iiop_tp scm=iiop_tp orb=1b1e2836] INFO System.out - at [email protected]/java.lang.Object.wait(Native Method)
2024-12-16 22:07:33,305 [VBJ ThreadPool Worker id=59246 se=iiop_tp scm=iiop_tp orb=1b1e2836] INFO System.out - at [email protected]/java.lang.Object.wait(Object.java:338)
2024-12-16 22:07:33,305 [VBJ ThreadPool Worker id=59246 se=iiop_tp scm=iiop_tp orb=1b1e2836] INFO System.out - at com.inprise.vbroker.IIOP.WritingThread.run(Unknown Source)
DX NetOps Spectrum all currently supported releases
You can add the following to the Context xml element of your $SPECROOT/tomcat/webapps/spectrum/META-INF/context.xml
file:
<!-- The default value is 10240 kbytes, even when not added to context.xml.
So increase it high enough, until the problem disappears.
For example set it to
a value 5 times as high: 51200. -->
<Resources cacheMaxSize="51200" />
Also, you can modify the cacheObjectEvictionLimit
setting to adjust the percentage of the cache that should be evicted during the eviction process.
For example:
<Context>
.... <Resources cacheMaxSize="20480" cacheObjectEvictionLimit="15" />
<!-- Evict 15% instead of 10% -->
....</Context>
<Context path="/spectrum" docBase="spectrum">
<!-- Configures the Spectrum Security Realm for authentication -->
<Realm className="com.aprisma.tomcat.authenticator.SpectrumLockOutRealm"failureCount="5" lockOutTime="600">
<Realm className="com.aprisma.tomcat.realm.SecurityRealm" debug="0"></Realm>
</Realm>
<!-- We need this to prevent the session from being serialized. (The
empty pathname prevents the serialization). -->
<Manager classname="org.apache.catalina.session.StandardManager" distributable="false"pathname="">
<!-- this will produce a 120 hex encoded character JSESSIONID -->
<SessionIdGenerator sessionIdLength="60"></SessionIdGenerator>
</Manager>
<Resources cacheMaxSize="20480" cacheObjectEvictionLimit="15" />
<!-- Add the resource factory declaration for MySQL. -->
<Resource name="jdbc/spectrum" auth="Container" type="javax.sql.DataSource"driverClassName="com.mysql.cj.jdbc.Driver" driverName="jdbc:mysql://localhost/spectrum?relaxAutocommit=true" url="jdbc:mysql://localhost/spectrum?autoReconnect=true"></Resource>
<Resource name="bean/SecuritySp" auth="Container"type="com.aprisma.spectrum.app.web.servlet.container.SpectrumJNDIRealm"factory="org.apache.naming.factory.BeanFactory" domainPollingInterval="10"domainRequestTimeout="60" domainConnectionTimeout="15" locServerName="spec23"backupLocServerName="" orbThreadPolicy="TSession" useSSL="false"orbArgs="vbroker.se.iiop_tp.host=null vbroker.se.iiop_tp.proxyHost=malfa-oc23 vbroker.se.iiop_tp.scm.iiop_tp.listener.port=14001 vbroker.se.iiop_tp.scm.ssl.listener.port=14011 vbroker.orb.enableBiDir=none vbroker.se.default.local.manager.enabled=false vbroker.agent.enableLocator=false vbroker.security.secureTransport=true vbroker.security.requireAuthentication=true vbroker.security.peerAuthenticationMode=REQUIRE_AND_TRUST vbroker.security.wallet.identity=spectrum vbroker.security.wallet.password=n3T0p5#br0@dc0M vbroker.security.alwaysSecure=true vbroker.security.client.socket.enabledProtocols=TLSv1.3 vbroker.security.server.socket.enabledProtocols=TLSv1.3 vbroker.orb.gcTimeout=300 vbroker.ce.iiop.ccm.connectionMaxIdle=600 vbroker.se.iiop_tp.scm.iiop_tp.manager.connectionMaxIdle=600 vbroker.se.iiop_tp.scm.iiop_tp.connection.tcpNoDelay=true vbroker.ce.iiop.connection.tcpNoDelay=true vbroker.log.enable=false vbroker.log.default.appenders=rolling vbroker.log.default.appender.rolling.layoutType=full vbroker.log.default.appender.rolling.maxFileSize=50 vbroker.log.default.appender.rolling.maxBackupIndex=10 vbroker.security.trustpointsRepository=Directory:/opt/CA/OneClick/custom/VBNS/trustpoints vbroker.security.wallet.type=Directory:/opt/CA/OneClick/custom/VBNS/identities vbroker.log.default.appender.rolling.logDir=/opt/CA/OneClick/tomcat/logs vbroker.log.default.appender.rolling.fileName=vbroker_tomcat_debug.log borland.enterprise.licenseDir=/opt/CA/OneClick/bin/VBNS/license" adminUserName="spectrum"smtpHostName="mailhost" smtpPort="25" smtpDomain="" useSecondarySS="true"connectionURL="" alternateURL="" timeoutPeriod="" readTimeoutPeriod="" connectionName=""AESEncryptedPassword="" storePasswords="" protocol="" userSearch="" userBase=""userSubtree="" userPattern="" referrals="follow" inferPipesInGC="true"></Resource>
</Context>
Then restart Spectrum OneClick (tomcat) process.
The following Stack Overflow goes into greater detail on the topic: