Cache-config.xml
Where is the best place to specify the tangosol.coherence.cacheconfig custom xml property?
We are using Spring, Hibernate + L2 cache.
Thank you,
~ Sam
The best place is arguably on the command line:
java ... -Dtangosol.coherence.cacheconfig=/some/path/someName.xml ...
If you don't have control over the command line (eg, you are running inside of an app server), you can also set it programatically:
String pathToConfig = getConfigPath();
System.setProperty("tangosol.coherence.cacheconfig", pathToConfig);
If you choose this route, it is important to make the setProperty call before any interaction with com.tangosol code (such as CacheFactory.getNamedCache()).
Similar Messages
-
Specifying coherence-cache-config.xml for multiple clusters
Hi,
I am running two cache clusters (Cluster A and B that hold different cache types). we have a web application that needs to communicate with both the clusters. we have two coherence-cache-config-g.xml files, one for each cluster.
where do we specify the two coherence-cache-config.xml for each of these clusters in our coherence.jar that we deploy on the web app server.
pls provide some inputs...
thanks in advance,
- G.Hi G,
You can define a path to the cache configuration descriptor in your operation configuration override file (tangosol-coherence=override.xml) or specify it in the system property "tangosol.coherence.cacheconfig".
Please see this Wiki page for details:
http://wiki.tangosol.com/display/COH32UG/configurable-cache-factory-config
Regards,
Gene -
Compacting the cache-config.xml for multiple cache-store
Hi,
I have a cache-config.xml that has various ReadWriteBackingMaps with different CacheLoader implementations. I was wondering of the best way to compact this xml using the scheme-ref tag, as all I really need is schemes, with different cache stores. e.g. I have an InstrumentCacheStore and a CurrencyCacheStore .. which invoke different CacheLoaders. they are both distributed caches.
I thought the below would work, but it dosen't.. :( when loading a currency, the InstrumentCacheStore gets invoked.
is there a way to compact this XML? Else, for 6 different cache loaders that I have, do I have to specify the whole distributed-scheme again and again?
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>instrument-*</cache-name>
<scheme-name>distributed-instrument-scheme</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>currency-*</cache-name>
<scheme-name>distributed-currency-scheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed-instrument-scheme</scheme-name>
<scheme-ref>distributed-scheme</scheme-ref>
</distributed-scheme>
<distributed-scheme>
<scheme-name>distributed-currency-scheme</scheme-name>
<scheme-ref>distributed-scheme</scheme-ref>
<!-- THIS DOES NOT OVERRIDE THE DEFAULT distributed-scheme? -->
<cachestore-scheme>
<class-scheme>
<class-name>coherence.cachestore.CurrencyCacheStore</class-name>
</class-scheme>
</cachestore-scheme>
</distributed-scheme>
<distributed-scheme>
<scheme-name>distributed-scheme</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<scheme-ref>LocalSizeLimited</scheme-ref>
</local-scheme>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>coherence.cachestore.InstrumentCacheStore</class-name>
</class-scheme>
</cachestore-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>
<partition-count>5557</partition-count>
<backup-count>1</backup-count>
<thread-count>10</thread-count>
<autostart>true</autostart>
</distributed-scheme>
<local-scheme>
<scheme-name>LocalSizeLimited</scheme-name>
<high-units>500000000</high-units>
<low-units>10000</low-units>
<unit-calculator>BINARY</unit-calculator>
</local-scheme>
</caching-schemes>
</cache-config>
--------------------------------------------------------------------------------------------------------------There are two possible ways to sort this out
1. The cache configuration for the distributed-currency-scheme shown in the original post is wrong and does not correctly override the cache store, it should look like this:.
<distributed-scheme>
<scheme-name>distributed-currency-scheme</scheme-name>
<scheme-ref>distributed-scheme</scheme-ref>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<scheme-ref>LocalSizeLimited</scheme-ref>
</local-scheme>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>coherence.examples.CurrencyCacheStore</class-name>
</class-scheme>
</cachestore-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
</distributed-scheme> 2. You can use a single scheme and parameterise it like this:
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>instrument-*</cache-name>
<scheme-name>distributed-scheme</scheme-name>
<init-params>
<init-param>
<param-name>cache-store-class-name</param-name>
<param-value>coherence.examples.InstrumentCacheStore</param-value>
</init-param>
</init-params>
</cache-mapping>
<cache-mapping>
<cache-name>currency-*</cache-name>
<scheme-name>distributed-scheme</scheme-name>
<init-params>
<init-param>
<param-name>cache-store-class-name</param-name>
<param-value>coherence.examples.CurrencyCacheStore</param-value>
</init-param>
</init-params>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed-scheme</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<scheme-ref>LocalSizeLimited</scheme-ref>
</local-scheme>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>{cache-store-class-name}</class-name>
</class-scheme>
</cachestore-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>
<partition-count>5557</partition-count>
<backup-count>1</backup-count>
<thread-count>10</thread-count>
<autostart>true</autostart>
</distributed-scheme>
<local-scheme>
<scheme-name>LocalSizeLimited</scheme-name>
<high-units>500000000</high-units>
<low-units>10000</low-units>
<unit-calculator>BINARY</unit-calculator>
</local-scheme>
</caching-schemes>
</cache-config>Parameter names from the init-params part of each cache mapping can be used inside curly brackets in the cache scheme part.
Hope that helps,
JK -
How to specify index for cache in coherence-cache-config.xml
Hi All,
We want to apply indexing on cache data.
Suppose i have a EMPLOYEE object in coherence cache.
and i want to use employeeID for indexing purpose.
Can anybody help me to achieve this at Congregational level i.e. using xml file (coherence-cache-config.xml) .
Edited by: 981644 on Jan 16, 2013 1:51 AMHi,
I've posted some [url http://coherence.oracle.com/download/attachments/14647422/add-index-namespace.jar]code and the [url http://coherence.oracle.com/download/attachments/14647422/add-index-namespace-src.jar]source. It depends on coherence common version 2.3.0.39174 however I believe it will work with 2.0.0.23649 also. Coherence common library can be downloaded from [url http://coherence.oracle.com/display/INC10/coherence-common]here
Note: This is purely an example on how to achieve index creation via a cache configuration file and is not a part of the product thus is not covered by product support.
Here is an example cache configuration that uses the namespace:
<cache-config xmlns:service="class://com.oracle.coherence.environment.extensible.ServiceOperations">
<caching-scheme-mapping>
<service:index-add cache-name="dist-indexes">
<extractor>
<class-name>ReflectionExtractor</class-name>
<init-params>
<init-param>
<param-type>string</param-type>
<param-value>getName</param-value>
</init-param>
</init-params>
</extractor>
</service:index-add>
<!-- Simplified POF Config -->
<service:index-add cache-name="dist-indexes" pof-enabled="true">
<pof-index>8,16,32</pof-index>
</service:index-add>
<!-- This should not be counted based on system-property override -->
<service:index-add cache-name="dist-indexes" pof-enabled="true" enabled="{tangosol.index.add}">
<pof-index>8,16,31</pof-index>
</service:index-add>
<!-- Explicit POF Config -->
<service:index-add cache-name="dist-indexes">
<extractor>
<class-name>PofExtractor</class-name>
<init-params>
<init-param>
<param-type>{class}</param-type>
<param-value>null</param-value>
</init-param>
<init-param>
<param-type>{object}</param-type>
<param-value>
<class-name>com.tangosol.io.pof.reflect.SimplePofPath</class-name>
<init-params>
<init-param>
<param-type>{int[]}</param-type>
<param-value>1,2,4</param-value>
</init-param>
</init-params>
</param-value>
</init-param>
</init-params>
</extractor>
</service:index-add>
</caching-scheme-mapping>
</cache-config>Thanks,
Harvey -
Not overriding the coherence-cache-config.xml but showing the error...
Hi,
I have created a file called tangosol-coherence-override.xml file in the specified path which is " C:\Program Files\Oracle\Coherence for .NET"
and the coherence.jar file is located in path which is "C:\Program Files\Oracle\Coherence for .NET\lib"
but it is not overriding the xml file.. with the default file...
C:\Program Files\Oracle\Coherence for .NET\examples\ContactCache.Java>"C:\Progra
m Files\Java\jdk1.6.0_11\bin\java" -server -showversion -Xms128m -Xmx128m -Dtang
osol.coherence.ttl=0 -Dtangosol.coherence.cacheconfig=contact-cache-config.xml -
cp "config;lib\custom-types.jar;C:\Program Files\Oracle\Coherence for .NET\lib\c
oherence.jar" com.tangosol.net.DefaultCacheServer
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Server VM (build 11.0-b16, mixed mode)
2011-06-20 15:06:57.607/2.366 Oracle Coherence 3.7.0.0 <Info> (thread=main, memb
er=n/a): Loaded operational configuration from "jar:file:/C:/Program%20Files/Ora
cle/Coherence%20for%20.NET/lib/coherence.jar!/tangosol-coherence.xml"
2011-06-20 15:06:57.989/2.748 Oracle Coherence 3.7.0.0 <Info> (thread=main, memb
er=n/a): Loaded operational overrides from "jar:file:/C:/Program%20Files/Oracle/
Coherence%20for%20.NET/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2011-06-20 15:06:58.049/2.808 Oracle Coherence 3.7.0.0 <D5> (thread=main, member
=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not
specified
2011-06-20 15:06:58.062/2.821 Oracle Coherence 3.7.0.0 <D5> (thread=main, member
=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
Oracle Coherence Version 3.7.0.0 Build 23397
Grid Edition: Development mode
Thanks in AdvanceThe CLASSPATH is not the same as the PATH. It is similar but a classpath is a set of directories or jar files that Java uses to look for executable code and resources.
Assuming you are using the example start-cache-server.cmd file that comes with the .Net examples to start your server you can put the tangosol-coherence-override.xml file into the C:\Program Files\Oracle\Coherence for .NET\examples\ContactCache.Java\config directory as this is on the classpath when using that script.
JK -
Coherence-cache-config.xml not visible from EAR
hello all.
I've met following issues. The coherence does not see my custom cache-config.xml and thereby uses the default from coherence.jar.
Environment:
1. WLS 10.3, Coherence 3.7, jvm 1.6
2. the active-cache is deployed as shared library
3. the dedicated coherence cluster is configured through WLS Admin console and all started with -Dtangosol.coherence.cacheconfig=d:\OracleFM\R11.1.1.5\WLSGeneric\user_projects\domains\mvn_domain1\coherence-config\coherence-cache-config.xml.. The output shows that the cluster is started and my cache service is started also:
Services
ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1, OldestMemberId=1}
InvocationService{Name=Management, State=(SERVICE_STARTED), Id=1, Version=3.1, OldestMemberId=1}
PartitionedCache{Name=MVN_Test_Service, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}
Cache services are configured with auto-start=true
4. the coherence.jar is placed in EAR\lib\coherence.jar
5. I've got tried to place coherence-cache-config.xml in the following places within EAR
EAR
APP-INF\classes\coherence-cache-config.xml
EAR
lib\coherence-cache-config.xml
EAR
MyModule.jar\META-INF\coherence-cache-config.xml
The result is that coherence uses default config file from coherence.jar instead of the custom one that deployed with EAR. In fact I do not have ideas what is wrong there....
And yet, the coherence that deployed with EAR sucessfully joined to cluster, but only to Service Management. From output: "Member 2 joined Service Management with senior member 1"
Edited by: mvnval on Feb 15, 2012 3:41 AM
Edited by: mvnval on Feb 15, 2012 3:42 AMHello Robert. Thanks for prompt reply.
If by saying that you deployed coherence.jar as a shared library means that you put it on the server classpath
In fact I didn't say that. I said that "4. the coherence.jar is placed in EAR\lib\coherence.jar"
Below the output from dedicated Coherence server
+<Feb 16, 2012 4:09:03 AM> <INFO> <NodeManager> <Server output log file is 'D:\OracleFM\R11.1.1.5\WLSGeneric\user_projects\domains\mvn_domain1\servers_coherence\Coherence37Server-0\logs\Coherence37Server-0.out'>+
+2012-02-16 11:39:04.133/0.928 Oracle Coherence 3.7.1.0 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/D:/OracleFM/R11.1.1.5/WLSGeneric/coherence_3.7.1/lib/coherence.jar!/tangosol-coherence.xml"+
+2012-02-16 11:39:04.578/1.373 Oracle Coherence 3.7.1.0 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/D:/OracleFM/R11.1.1.5/WLSGeneric/coherence_3.7.1/lib/coherence.jar!/tangosol-coherence-override-dev.xml"+
+2012-02-16 11:39:04.579/1.374 Oracle Coherence 3.7.1.0 <D5> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified+
+2012-02-16 11:39:04.586/1.381 Oracle Coherence 3.7.1.0 <D5> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified+
Oracle Coherence Version 3.7.1.0 Build 27797
Grid Edition: Development mode
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+2012-02-16 11:39:07.080/3.875 Oracle Coherence GE 3.7.1.0 <D4> (thread=main, member=n/a): TCMP bound to /10.6.12.61:9888 using SystemSocketProvider+
+2012-02-16 11:39:10.591/7.386 Oracle Coherence GE 3.7.1.0 <Info> (thread=Cluster, member=n/a): Created a new cluster "cluster:0x75CB" with Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4) UID=0x0A060C3D0000013585509CEAD5F326A0+
+2012-02-16 11:39:10.597/7.392 Oracle Coherence GE 3.7.1.0 <Info> (thread=main, member=n/a): Started cluster Name=cluster:0x75CB+
+Group{Address=231.1.1.1, Port=7777, TTL=4}+
MasterMemberSet(
ThisMember=Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer)
OldestMember=Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer)
ActualMemberSet=MemberSet(Size=1
Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer)
+)+
MemberId|ServiceVersion|ServiceJoined|MemberState
+1|3.7.1|2012-02-16 11:39:10.592|JOINED+
RecycleMillis=1200000
RecycleSet=MemberSet(Size=0
+)+
+)+
+TcpRing{Connections=[]}+
+IpMonitor{AddressListSize=0}+
+2012-02-16 11:39:10.629/7.424 Oracle Coherence GE 3.7.1.0 <D5> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1+
+2012-02-16 11:39:10.845/7.640 Oracle Coherence GE 3.7.1.0 <D5> (thread=DistributedCache, member=1): Service DistributedCache joined the cluster with senior service member 1+
+2012-02-16 11:39:10.936/7.731 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member(Id=2, Timestamp=2012-02-16 11:39:10.74, Address=10.6.12.61:9890, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3592,member:Coherence37Server-1, Role=WeblogicWeblogicCacheServer) joined Cluster with senior member 1+
+2012-02-16 11:39:10.962/7.757 Oracle Coherence GE 3.7.1.0 <D5> (thread=ReplicatedCache, member=1): Service ReplicatedCache joined the cluster with senior service member 1+
+2012-02-16 11:39:10.975/7.770 Oracle Coherence GE 3.7.1.0 <D5> (thread=OptimisticCache, member=1): Service OptimisticCache joined the cluster with senior service member 1+
+2012-02-16 11:39:10.986/7.781 Oracle Coherence GE 3.7.1.0 <D5> (thread=Invocation:InvocationService, member=1): Service InvocationService joined the cluster with senior service member 1+
+2012-02-16 11:39:10.989/7.785 Oracle Coherence GE 3.7.1.0 <Info> (thread=main, member=1):+
Services
+(+
+ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1, OldestMemberId=1}+
+InvocationService{Name=Management, State=(SERVICE_STARTED), Id=1, Version=3.1, OldestMemberId=1}+
+PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}+
+ReplicatedCache{Name=ReplicatedCache, State=(SERVICE_STARTED), Id=3, Version=3.0, OldestMemberId=1}+
+Optimistic{Name=OptimisticCache, State=(SERVICE_STARTED), Id=4, Version=3.0, OldestMemberId=1}+
+InvocationService{Name=InvocationService, State=(SERVICE_STARTED), Id=5, Version=3.1, OldestMemberId=1}+
+)+
Started DefaultCacheServer...
+2012-02-16 11:39:10.994/7.789 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service Management with senior member 1+
+2012-02-16 11:39:11.297/8.092 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service DistributedCache with senior member 1+
+2012-02-16 11:39:11.330/8.125 Oracle Coherence GE 3.7.1.0 <D5> (thread=DistributedCache, member=1): 3> Transferring primary PartitionSet{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127} to member 2 requesting 128+
+2012-02-16 11:39:11.369/8.164 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service ReplicatedCache with senior member 1+
+2012-02-16 11:39:11.373/8.168 Oracle Coherence GE 3.7.1.0 <D4> (thread=DistributedCache, member=1): 1> Transferring 129 out of 129 partitions to a node-safe backup 1 at member 2 (under 129)+
+2012-02-16 11:39:11.399/8.194 Oracle Coherence GE 3.7.1.0 <D5> (thread=DistributedCache, member=1): Transferring 0KB of backup[1] for PartitionSet{128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256} to member 2+
+2012-02-16 11:39:11.443/8.238 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service OptimisticCache with senior member 1+
+2012-02-16 11:39:11.461/8.256 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service InvocationService with senior member 1+
+2012-02-16 12:00:31.435/1288.230 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member(Id=3, Timestamp=2012-02-16 12:00:31.425, Address=10.6.12.61:8888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:6252, Role=WeblogicServer) joined Cluster with senior member 1+
+2012-02-16 12:00:31.726/1288.521 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member(Id=4, Timestamp=2012-02-16 12:00:31.7, Address=10.6.12.61:8890, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:7116, Role=WeblogicServer) joined Cluster with senior member 1+
+2012-02-16 12:00:31.758/1288.553 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 3 joined Service Management with senior member 1+
+2012-02-16 12:00:32.092/1288.887 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 4 joined Service Management with senior member 1+
You may see that I have two dedicated Coherence servers member 1 and member 2 that joined in coherence cluster. The member 3 and member 4 are WLS deployed coherence. I mean that I have two WLS that configured to join Coherence cluster, and it's happened after the application had been deployed on both of them. You may see that the two last joined only to Service Management
There is the output from WLS-out:
+2012-02-16 12:00:29.071/1219.089 Oracle Coherence 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational configuration from "zip:D:/OracleFM/R11.1.1.5/WLSGeneric/user_projects/domains/mvn_domain1/servers/WLSServer-1/tmp/_WL_user/TestEAR/g0yzyu/lib/coherence.jar!/tangosol-coherence.xml"+
+2012-02-16 12:00:29.173/1219.191 Oracle Coherence 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational overrides from "zip:D:/OracleFM/R11.1.1.5/WLSGeneric/user_projects/domains/mvn_domain1/servers/WLSServer-1/tmp/_WL_user/TestEAR/g0yzyu/lib/coherence.jar!/tangosol-coherence-override-dev.xml"+
+2012-02-16 12:00:29.175/1219.193 Oracle Coherence 3.7.1.0 <D5> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified+
+2012-02-16 12:00:29.179/1219.197 Oracle Coherence 3.7.1.0 <D5> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified+
Oracle Coherence Version 3.7.1.0 Build 27797
Grid Edition: Development mode
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+2012-02-16 12:00:30.069/1220.087 Oracle Coherence GE 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded Reporter configuration from "zip:D:/OracleFM/R11.1.1.5/WLSGeneric/user_projects/domains/mvn_domain1/servers/WLSServer-1/tmp/_WL_user/TestEAR/g0yzyu/lib/coherence.jar!/reports/report-group.xml"+
And this from WLS-log:
+####<Feb 16, 2012 12:00:31 PM FET> <Info> <com.oracle.wls> <EPBYMINW0269> <WLSServer-1> <Logger@1380966230 3.7.1.0> <<anonymous>> <> <> <1329382831441> <BEA-000000> <2012-02-16 12:00:31.441/1221.459 Oracle Coherence GE 3.7.1.0 <Info> (thread=Cluster, member=n/a): This Member(Id=3, Timestamp=2012-02-16 12:00:31.425, Address=10.6.12.61:8888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:6252, Role=WeblogicServer, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4) joined cluster "cluster:0x75CB" with senior Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4)>+
+####<Feb 16, 2012 12:00:31 PM FET> <Info> <com.oracle.wls> <EPBYMINW0269> <WLSServer-1> <Logger@9259509 3.7.1.0> <<anonymous>> <> <> <1329382831661> <BEA-000000> <2012-02-16 12:00:31.661/1221.679 Oracle Coherence GE 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Started cluster Name=cluster:0x75CB+
+Group{Address=231.1.1.1, Port=7777, TTL=4}+
MasterMemberSet(
ThisMember=Member(Id=3, Timestamp=2012-02-16 12:00:31.425, Address=10.6.12.61:8888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:6252, Role=WeblogicServer)
OldestMember=Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer)
ActualMemberSet=MemberSet(Size=3
Member(Id=1, Timestamp=2012-02-16 11:39:07.242, Address=10.6.12.61:9888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3012,member:Coherence37Server-0, Role=WeblogicWeblogicCacheServer)
Member(Id=2, Timestamp=2012-02-16 11:39:10.74, Address=10.6.12.61:9890, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:3592,member:Coherence37Server-1, Role=WeblogicWeblogicCacheServer)
Member(Id=3, Timestamp=2012-02-16 12:00:31.425, Address=10.6.12.61:8888, MachineId=54771, Location=site:,machine:EPBYMINW0269,process:6252, Role=WeblogicServer)
+)+
MemberId|ServiceVersion|ServiceJoined|MemberState
+1|3.7.1|2012-02-16 11:39:07.242|JOINED,+
+2|3.7.1|2012-02-16 11:39:10.74|JOINED,+
+3|3.7.1|2012-02-16 12:00:31.646|JOINED+
RecycleMillis=1200000
RecycleSet=MemberSet(Size=0
+)+
+)+
+TcpRing{Connections=[2]}+
+IpMonitor{AddressListSize=0}+
+>+
+####<Feb 16, 2012 12:00:31 PM FET> <Info> <com.oracle.wls> <EPBYMINW0269> <WLSServer-1> <Logger@9259509 3.7.1.0> <<anonymous>> <> <> <1329382831916> <BEA-000000> <2012-02-16 12:00:31.916/1221.934 Oracle Coherence GE 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=3): Loaded cache configuration from "zip:D:/OracleFM/R11.1.1.5/WLSGeneric/user_projects/domains/mvn_domain1/servers/WLSServer-1/tmp/_WL_user/TestEAR/g0yzyu/lib/coherence.jar!/coherence-cache-config.xml">+
+####<Feb 16, 2012 12:00:32 PM FET> <Info> <Deployer> <EPBYMINW0269> <WLSServer-1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1329382832019> <BEA-149059> <Module EjbWebServices.jar of application TestEAR is transitioning from STATE_NEW to STATE_PREPARED on server WLSServer-1.>+
+####<Feb 16, 2012 12:00:32 PM FET> <Info> <com.oracle.wls> <EPBYMINW0269> <WLSServer-1> <Logger@9259509 3.7.1.0> <<anonymous>> <> <> <1329382832020> <BEA-000000> <2012-02-16 12:00:32.018/1222.036 Oracle Coherence GE 3.7.1.0 <Info> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=3): Loaded cache configuration from "zip:D:/OracleFM/R11.1.1.5/WLSGeneric/user_projects/domains/mvn_domain1/servers/WLSServer-1/tmp/_WL_user/TestEAR/g0yzyu/EjbWebServices.jar!/META-INF/coherence-cache-config.xml">+
+####<Feb 16, 2012 12:00:32 PM FET> <Info> <EJB> <EPBYMINW0269> <WLSServer-1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1329382832037> <BEA-010008> <EJB Deploying file: EjbWebServices.jar>+ -
Aggregating cache-config.xml files
I'd like to add to, rather than override, my cache config files. How do I go about that? Do I have to deal with XmlElements of the DefaultConfigurableCacheFactory directly, or is there some simpler way to do this?
Thanks ---Hi Cindy,
There is nothing in the core product but if you use the Coherence Incubator Commons then you can do it. http://coherence.oracle.com/display/INC10/coherence-common
You need to include the coherence-commons jar in your class path then you can do this...
<cache-config
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"
xmlns:element="class://com.oracle.coherence.environment.extensible.namespaces.XmlElementProcessingNamespaceContentHandler"
element:introduce-cache-config="coherence-common-cache-config.xml">
<caching-scheme-mapping>
</caching-scheme-mapping>
<caching-schemes>
</caching-schemes>
</cache-config>The above config uses the element namespace from the incubator that allows you to add the element:introduce-cache-config attribute to the cache-config tag which imports the specified cache config file. http://coherence.oracle.com/display/INC10/element-namespace
JK -
How to read the extended-cache-config.xml file. in C++ API
I want to create my own XML config file and define the config values in that, so that C++ Client (using Coherence C++ API) application can access the config files.
Also how to get the instance of configuration values which Coherence client has read,
i.e.
TangosolCoherenceOverride=$PATH/examples/config/tangosol-coherence-override.xml
TangosolCoherenceCacheconfig=$PATH/examples/config/extend-cache-config.xml
How to get the instance of this XMLDocument ? and read values from it.
Thanks,
NaveenHi,
You can get the cache-config that was read by getting it from the ConfigurableCacheFatory (which you can get from the CacheFactory) via getConfig(). See:
http://download.oracle.com/otn_hosted_doc/coherence/352CPP/classcoherence_1_1net_1_1_cache_factory.html
http://download.oracle.com/otn_hosted_doc/coherence/352CPP/classcoherence_1_1net_1_1_configurable_cache_factory.html
There is no way to get the actual XmlDocument object from the cluster that is read for the cluster-config (though you could open the same path yourself).
thanks,
-Rob -
Custom p13n-cache-config.xml
Trying to implement 5.1 P13N CacheProvider SPI Implementation from link:
http://docs.oracle.com/cd/E24290_01/coh.371/e22621/wlportal.htm#CHDIFHCD
In step 2: The p13n-cache-config.xml has been updated with the <default-provider-id>com.tangosol.coherence.weblogic</default-provider-id> line.
Question:
How can a custom p13n-cache-config.xml be loaded using a -D command?
Edited by: user734247 on May 1, 2013 1:28 PMHi,
The p13n-cache-config.xml needs to changed in each of your WLP application's META-INF directory. Coherence does not need this file but rather the provider configuration in file makes Portal application to start using coherence for p13 caching.
HTH
Regards,
_NJ -
Coherence-cache-config.xml Q
coherence-cache-config.xml has all the cache schemes defined and mappings listed.
Let's say, I'd like to set distributed limited, with bs, dist-limited-bs, do I have to delete other entries for near, replicated, local in this xml, coherence-cache-config.xml file?
Thanksthanks Nick.
I checked the link and it specifies various cache schemes that can be specified and a sample file exists in coherence.jar.
So, how do you specify a cache that you want? Do you override using the override xml files?
my apologies for my limited knowledge in coherence. -
Can create new cache with new cache config xml to existing cache server?
Hi,
I have a question regarding coherence cache.
currently there is coherence cache server running with its own cache config file.
Can I create another cache with new cache config file?
If so, do I need add my own cache config file and pof file to the server?
so during cache server start up, it can load cache config and pof config file?
Thanks for the help.
Regards
JuliaYes, when you want to load your own cache configuration you can use something like
export CLASSPATH=coherence.jar
java -Xms512m -Xmx512m -Dtangosol.coherence.cacheconfig=my-cache-config.xml com.tangosol.net.DefaultCacheServerby using the system parameter tangosol.coherence.cacheconfig you can add your own cache configuration. Note that
the POF configuration is loaded when you are referring to it in your cache configuration. -
Unable to run Cache Factory JVM instance throws Missing POF config xml file
I have configured three JVM instances in Eclipse using Run Configurations Menu
- JUnit JVM
-Default Cache Server JVM
-Cache Factory JVM
The configurations of Default Cache Server are
Main Class : com.tangosol.net.DefaultCacheServer
Arguments:
-Dtangosol.coherence.cacheconfig=C:\..\resources\coherence-cache-config.xml
-Dtangosol.coherence.distributed.localstorage=true
-Dtangosol.coherence.management=all
-Dtangosol.coherence.management.remote=true
The Configurations for CacheFactory are
Main Class: com.tangosol.net.CacheFactory
Arguments:
-Dtangosol.coherence.cacheconfig=C:\..\resources\coherence-cache-config.xml
-Dtangosol.coherence.distributed.localstorage=false
First i run Default Cache Server which runs successfully. Then i ran CacheFactory the console messages doesnt say that its refering to coherence-cache-config.xml
Here is the snippet from console messages
Oracle Coherence Version 3.5.1/461
Grid Edition: Development mode
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
2009-10-29 09:57:07.028/5.266 Oracle Coherence GE 3.5.1/461 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
2009-10-29 09:57:07.105/5.343 Oracle Coherence GE 3.5.1/461 <Info> (thread=Cluster, member=n/a): Failed to satisfy the variance: allowed=16, actual=47
2009-10-29 09:57:07.105/5.343 Oracle Coherence GE 3.5.1/461 <Info> (thread=Cluster, member=n/a): Increasing allowable variance to 19
2009-10-29 09:57:07.495/5.733 Oracle Coherence GE 3.5.1/461 <Info> (thread=Cluster, member=n/a): This Member(Id=2, Timestamp=2009-10-29 09:57:07.23, Address=165.137.250.122:8089, MachineId=54906, Location=site:cable.comcast.com,machine:PACDCL-CJWWND1b,process:5296, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=1) joined cluster "cluster:0xD1CB" with senior Member(Id=1, Timestamp=2009-10-29 09:54:18.406, Address=165.137.250.122:8088, MachineId=54906, Location=site:cable.comcast.com,machine:PACDCL-CJWWND1b,process:3236, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=1)
2009-10-29 09:57:07.744/5.982 Oracle Coherence GE 3.5.1/461 <D5> (thread=Cluster, member=n/a): Member 1 joined Service Management with senior member 1
2009-10-29 09:57:07.744/5.982 Oracle Coherence GE 3.5.1/461 <D5> (thread=Cluster, member=n/a): Member 1 joined Service DistributedCache with senior member 1
2009-10-29 09:57:08.414/6.652 Oracle Coherence GE 3.5.1/461 <D5> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior service member 1
2009-10-29 09:57:09.582/7.820 Oracle Coherence GE 3.5.1/461 <D5> (thread=TcpRingListener, member=2): TcpRing: connecting to member 1 using TcpSocket{State=STATE_OPEN, Socket=Socket[addr=/165.137.250.122,port=1383,localport=8089]}
SafeCluster: Name=cluster:0xD1CBPlease note the following messages are missing from the above console messages which are present in Cache Server but not Cache Factory
Oracle Coherence Version 3.5.1/461
Grid Edition: Development mode
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
2009-10-29 09:54:17.062/13.141 Oracle Coherence GE 3.5.1/461 <Info> (thread=Main Thread, member=n/a): Loaded cache configuration from "jar:file:/C:/Software/coherence-v3.5.1b461/coherence/lib/coherence.jar!/reports/report-group.xml"
2009-10-29 09:54:17.234/13.313 Oracle Coherence GE 3.5.1/461 <Info> (thread=Main Thread, member=n/a): Loaded cache configuration from "file:/C:/MyWorkspaces/EnterpriseServicesPlatform/ContractService/ServiceImpl/src/main/resources/coherence-cache-config.xml"The CacheFactory will not load the cache configuration until you use a cache related command the first time. For example:
Map (?): cache test
2009-10-30 09:18:47.847/8.164 Oracle Coherence GE 3.5/459 <Info> (thread=main, member=1): Loaded cache configuration from file "/Users/rob.misek/temp/new-cache-config.xml"
<class-scheme>
<scheme-name>default-backing-map</scheme-name>
<class-name>com.tangosol.util.SafeHashMap</class-name>
</class-scheme>
Rob
:Coherence Team: -
UCM-VCR Adapter in WLP error while publishing content-config.xml changes
Hi,
I am getting this error when i publish my changes to server for UCM-VCR Adapter in WLP 10.3.2.
weblogic.application.ModuleException: Error reading descriptor: META-INF/content
-config.xml for app module ucmEAR
at weblogic.application.config.DefaultModule.parseDescriptorBean(Default
Module.java:483)
at weblogic.application.config.DefaultModule.prepare(DefaultModule.java:
282)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:391)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:83)
Truncated. see log file for complete stacktrace
Caused By: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists:
"com.bea.content.config.RepositoryPropertyBeanImpl@d0b61789(/[UCMRepository]/Rep
ositoryProperties[ContentServerAdminUser])"
at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceM
anager.java:227)
at com.bea.content.config.ContentStoreBeanImpl.setRepositoryProperties(U
nknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
Truncated. see log file for complete stacktrace
>
i also add oracle-ucm-spi-app-lib.ear in weblogic-application.xml's WebLogic Shared Library.
please find the related files.
content-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<content-config xmlns="http://www.bea.com/ns/portal/90/content-config">
<!-- This is a default content repository applications can use.
The IDE should copy this to META-INF/content-config.xml of the
application.
This repository is not required for WLP services, so you can remove
it or change it as needed. -->
<content-store>
<name>UCMRepository</name>
<class-name>com.oracle.content.spi.ucm.RepositoryImpl
</class-name>
<username>wlpApp</username>
<repository-property>
<description>Hostname on which the UCM Content Server is running
</description>
<name>ContentServerHostname</name>
<value>172.23.210.16</value>
</repository-property>
<repository-property>
<description>Port on which the UCM Content Server is running (on host named above)
</description>
<name>ContentServerPort</name>
<value>4444</value>
</repository-property>
<repository-property>
<description>Content Server uname in Admin role, for
security checks
</description>
<name>ContentServerAdminUser</name>
<value>sysadmin</value>
</repository-property>
<repository-property>
<description>List of folder ObjectClasses</description>
<name>folder_badge_objectClasses</name>
<value>IDC:Folder</value>
</repository-property>
<repository-property>
<description>Single user for all type related interactions
</description>
<name>TypeRetrievalShapeUser</name>
<value>typeShapeUser</value>
</repository-property>
<repository-property>
<name>useNativeSecurity</name>
<value>false</value>
</repository-property>
<repository-property>
<description>Protocol used to connect with the UCM Server.
Valid
options are INTRADOC or INTRADOC_SSL. INTRADOC is the
default.
</description>
<name>ContentServerServiceType</name>
<value>INTRADOC</value>
</repository-property>
<repository-property>
<description>Content Server Username in Admin role, used
for security
checks
</description>
<name>ContentServerAdminUser</name>
<value>sysadmin</value>
</repository-property>
<repository-property>
<description>Polling interval for the
CacheInvalidator IntervalJob
(must be equal to or greater than 2 min)
</description>
<name>CacheInvalidationInterval</name>
<value>2</value>
</repository-property>
<repository-property>
<description>Location on the filesystem of the
client SSL keystore
file. Only used when ContentServerServiceType
is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreFile</name>
<value>c:/client_keystore</value>
</repository-property>
<repository-property>
<description>SSL keystore password. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystorePassword</name>
<value>idcidc</value>
</repository-property>
<repository-property>
<description>SSL keystore alias name. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreAlias</name>
<value>SecureClient</value>
</repository-property>
<repository-property>
<description>SSL keystore alias password. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreAliasPassword</name>
<value>idcidc</value>
</repository-property>
<read-only>true</read-only>
<binary-cache-max-entry-size>102400</binary-cache-max-entry-size>
<!-- metadata search -->
<search-is-enabled>true</search-is-enabled>
<!-- full text search -->
<fulltext-search-is-enabled>true</fulltext-search-is-enabled>
<search-indexing-is-enabled>false</search-indexing-is-enabled>
</content-store>
</content-config>
p13n-cache-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<p13n-cache-config xmlns="http://www.bea.com/ns/p13n/90/p13n-cache-config">
<!--
This is the caches for the default content repository. The IDE should
copy this to META-INF/p13n-cache-config.xml of the application. These
caches are for the default WLP Repository. You can modify these to fit
your needs. If you remove the WLP Repository, you can remove these
entries.
-->
<cache>
<name>nodeCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>50</max-entries>
</cache>
<cache>
<name>nodePathCache.UCMRepository</name>
<description>Caches node path to node instance for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>50</max-entries>
</cache>
<cache>
<name>typeCache.UCMRepository</name>
<description>Caches binary property values for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>typeNameCache.UCMRepository</name>
<description>Caches type id to content type for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>binaryCache.UCMRepository</name>
<description>Caches type name to content type for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>10</max-entries>
</cache>
<cache>
<name>searchCache.UCMRepository</name>
<description>Caches node id to node for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>nativeAuthCacheUCMRepository</name>
<description>Caches node path to node for UCMRepository</description>
<time-to-live>5000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.typeNameCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.nodePathToUidCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.nodeUidCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.securityInfoCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.typeNamesCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.indexedFieldsCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
</p13n-cache-config>Hi Venu,
Normally if you can see the UCM content in the admin console, it means the adapter is configured correctly and the placeholder should work. There's a couple of things I can suggest:
1. Did you include the oracle-ucm-spi-app-lib.ear file in your project as documented under the heading Add a Reference to the UCM VCR Adapter Shared Library in the UCM VCR adapter installation docs ( [http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/ucm_adapter/install.html|http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/ucm_adapter/install.html] )?
2. Browse to a document in the repository in the admin console. Pick one of the fields there (e.g. IDC:Folder.dDocId), grab the value and run a query using the placeholder. Do you get a single result?
3. The original poster (user8867138) mentions a query along the lines of returning all folders that has dDocAuthor = sysadmin. If your UCM system had 10,000 folders all created by sysadmin, the adapter might be timing out? IIRC, you can adjust the timeout in UCM.
4. Did you try a similar query using Content Selector instead?
5. If the WLP server domain is running on a separate machine, is UCM configured to accept connections from the WLP server but not your machine?
I would suggest getting the latest patches for WLP too as some of them are related to the UCM VCR adapter.
Cheers,
Cappa -
Split cache config file support in 12.1.2?
With 3.7.1 you could use the coherence-common library from incubator 11 to split cache config files.
This was done with the introduce-cache-config XML element:
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"
xmlns:element="class://com.oracle.coherence.environment.extensible.namespaces.XmlElementProcessingNamespaceContentHandler"
element:introduce-cache-config="cache-config-1.xml, cache-config-2.xml, cache-config-3.xml">
</cache-config>
But this will not be available in incubator 12, the classes used for that will not be ported from incubator 11 (Coherence 3.7.x) to incubator 12 (Coherence 12.x):
http://coherence.oracle.com/download/attachments/14188570/Incubator+Update.pdf?version=2&modificationDate=1353937318977
How to achieve this with 12.1.2?Hi,
It is still possible to do this as I did it with the 12.1.2 beta and a beta of Incubator 12 so unless either of those changed at the last minute you should be able to still import cache configuration files.
The top of your XML needs to look something like this...
<?xml version="1.0"?>
<cache-config xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:element="class://com.oracle.coherence.common.namespace.preprocessing.XmlPreprocessingNamespaceHandler"
element:introduce-cache-config="config/cluster.xml">
where this file is importing the "config/cluster.xml" file.
If you use custom name spaces in you configuration files then there is a bit more work to do as the XmlPreprocessingNamespaceHandler only knows how to merge the standard Coherence XML so you need to add extra code to you own namespace handlers. Specifically you need to implement...
public void mergeConfiguration(ProcessingContext processingContext, String sFromURI, XmlElement element, XmlElement xmlIntoCacheConfig, QualifiedName originatedFrom)
In the implementation you need to merge your custom XML (the element parameter) across to the main XML (the xmlIntoCacheConfig parameter). A very simple implementation of this would be...
@Override
public void mergeConfiguration(ProcessingContext processingContext, String sFromURI, XmlElement element, XmlElement xmlIntoCacheConfig, QualifiedName originatedFrom) {
// clone the element to merge
XmlElement xmlMergeElement = (XmlElement) element.clone();
// annotate the origin of the merging element
xmlMergeElement.addAttribute(originatedFrom.getName()).setString(sFromURI);
// Add the cloned element to the XML configuration
xmlIntoCacheConfig.getElementList().add(xmlMergeElement);
JK -
Cache config for distributed cache and TCP*Extend
Hi,
I want to use distributed cache with TCP*Extend. We have defined "remote-cache-scheme" as the default cache scheme. I want to use a distributed cache along with a cache-store. The configuration I used for my scheme was
<distributed-scheme>
<scheme-name>MyScheme</scheme-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<class-scheme>
<class-name>com.tangosol.util.ObservableHashMap</class-name>
</class-scheme>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>MyCacheStore</class-name>
</class-scheme>
<remote-cache-scheme>
<scheme-ref>default-scheme</scheme-ref>
</remote-cache-scheme>
</cachestore-scheme>
<rollback-cachestore-failures>true</rollback-cachestore-failures>
</read-write-backing-map-scheme>
</backing-map-scheme>
</distributed-scheme>
<remote-cache-scheme>
<scheme-name>default-scheme</scheme-name>
<initiator-config>
<tcp-initiator>
<remote-addresses>
<socket-address>
<address>XYZ</address>
<port>9909</port>
</socket-address>
</remote-addresses>
</tcp-initiator>
</initiator-config>
</remote-cache-scheme>I know that the configuration defined for "MyScheme" is wrong but I do not know how to configure "MyScheme" correctly to make my distributed cache the part of the same cluster to which all other caches, which uses the default scheme, are joined. Currently, this ain't happening.
Thanks.
RG
Message was edited by:
user602943Hi,
Is it that I need to define my distributed scheme with the CacheStore in the server-coherence-cache-config.xml and then on the client side use remote cache scheme to connect to get my distributed cache?
Thanks,
Maybe you are looking for
-
TS4185 Face time has my phone number wrong
Hi When I Login into FaceTime it has the wrong telephone number. How do I fix this?
-
Creating Measure in Essbase studio
Hi All, I have created a user-defined table(say Table1) in Essbase studio having one calculated column(say Col1), Now when I use this column in another user-defined table like(Table1.col1) its throwing error "+Table or view dosent exist+". Is there a
-
Charged iPad does not come back why?
I was using ipad in the night then charged , next morning my ipad had only black screen why?
-
Submit does not update database data
Hello: Thanks for looking at this post... I'm trying to get a simple ADF Web app to update data in the database, but the submit button does not seem to be updating the database. Below is how I created this issue. Any ideas on what I'm doing wrong? Th
-
Newbie here to Mac's. What would be the best way to clone a Mac
so it can be distributed to other Macs of the same hardware specs.? Similar to something like Symantec Ghost for PC's. Any help will be much appreciated, thanks.