[teiid-commits] teiid SVN: r3454 - in branches/as7: build/kits/jboss-as7/domain and 11 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Tue Sep 6 17:53:23 EDT 2011
Author: rareddy
Date: 2011-09-06 17:53:22 -0400 (Tue, 06 Sep 2011)
New Revision: 3454
Added:
branches/as7/build/kits/jboss-as7/domain/
branches/as7/build/kits/jboss-as7/domain/domain-teiid.xml
Modified:
branches/as7/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml
branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml
branches/as7/cache-jbosscache/src/main/java/org/teiid/cache/jboss/JBossCacheFactory.java
branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/SessionAwareCache.java
branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
branches/as7/jboss-integration/pom.xml
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Configuration.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/QueryEngineAdd.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidBootServicesAdd.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidServiceNames.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd
branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
Log:
TEIID-1720: Fixed Teiid specific configuration for the cache stuff
Added: branches/as7/build/kits/jboss-as7/domain/domain-teiid.xml
===================================================================
--- branches/as7/build/kits/jboss-as7/domain/domain-teiid.xml (rev 0)
+++ branches/as7/build/kits/jboss-as7/domain/domain-teiid.xml 2011-09-06 21:53:22 UTC (rev 3454)
@@ -0,0 +1,702 @@
+<!--
+ ~ JBoss, Home of Professional Open Source.
+ ~ Copyright 2010, Red Hat, Inc., and individual contributors
+ ~ as indicated by the @author tags. See the copyright.txt file in the
+ ~ distribution for a full listing of individual contributors.
+ ~
+ ~ This is free software; you can redistribute it and/or modify it
+ ~ under the terms of the GNU Lesser General Public License as
+ ~ published by the Free Software Foundation; either version 2.1 of
+ ~ the License, or (at your option) any later version.
+ ~
+ ~ This software is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public
+ ~ License along with this software; if not, write to the Free
+ ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ -->
+
+<domain xmlns="urn:jboss:domain:1.0">
+
+ <extensions>
+ <extension module="org.jboss.as.clustering.infinispan"/>
+ <extension module="org.jboss.as.clustering.jgroups"/>
+ <extension module="org.jboss.as.connector"/>
+ <extension module="org.jboss.as.ee"/>
+ <extension module="org.jboss.as.ejb3"/>
+ <extension module="org.jboss.as.jaxrs"/>
+ <extension module="org.jboss.as.jmx"/>
+ <extension module="org.jboss.as.jpa"/>
+ <extension module="org.jboss.as.logging"/>
+ <extension module="org.jboss.as.modcluster"/>
+ <extension module="org.jboss.as.naming"/>
+ <extension module="org.jboss.as.osgi"/>
+ <extension module="org.jboss.as.remoting"/>
+ <extension module="org.jboss.as.sar"/>
+ <extension module="org.jboss.as.security"/>
+ <extension module="org.jboss.teiid"/>
+ <extension module="org.jboss.as.threads"/>
+ <extension module="org.jboss.as.transactions"/>
+ <extension module="org.jboss.as.web"/>
+ <extension module="org.jboss.as.weld"/>
+ </extensions>
+
+ <system-properties>
+ <!-- IPv4 is not required, but setting this helps avoid unintended use of IPv6 -->
+ <property name="java.net.preferIPv4Stack" value="true"/>
+ </system-properties>
+
+ <profiles>
+ <profile name="default">
+ <subsystem xmlns="urn:jboss:domain:logging:1.1">
+ <console-handler name="CONSOLE">
+ <level name="INFO"/>
+ <formatter>
+ <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
+ </formatter>
+ </console-handler>
+
+ <periodic-rotating-file-handler name="FILE">
+ <level name="INFO"/>
+ <formatter>
+ <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
+ </formatter>
+ <file relative-to="jboss.server.log.dir" path="server.log"/>
+ <suffix value=".yyyy-MM-dd"/>
+ </periodic-rotating-file-handler>
+
+ <logger category="com.arjuna">
+ <level name="WARN"/>
+ </logger>
+ <logger category="org.apache.tomcat.util.modeler">
+ <level name="WARN"/>
+ </logger>
+ <logger category="sun.rmi">
+ <level name="WARN"/>
+ </logger>
+
+ <root-logger>
+ <level name="INFO"/>
+ <handlers>
+ <handler name="CONSOLE"/>
+ <handler name="FILE"/>
+ </handlers>
+ </root-logger>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:datasources:1.0">
+ <datasources>
+ <datasource jndi-name="java:jboss/datasources/ExampleDS" enabled="true" use-java-context="true" pool-name="H2DS">
+ <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
+ <driver>h2</driver>
+ <pool></pool>
+ <security>
+ <user-name>sa</user-name>
+ <password>sa</password>
+ </security>
+ </datasource>
+ <drivers>
+ <driver name="h2" module="com.h2database.h2">
+ <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
+ </driver>
+ </drivers>
+ </datasources>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:ee:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:ejb3:1.1" lite="true">
+ <!-- EJB3 pools -->
+ <pools>
+ <bean-instance-pools>
+ <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"
+ instance-acquisition-timeout-unit="MINUTES"/>
+ </bean-instance-pools>
+ </pools>
+
+ <!-- Session bean configurations -->
+ <session-bean>
+ <stateless>
+ <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
+ </stateless>
+ </session-bean>
+
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:infinispan:1.0" default-cache-container="hibernate">
+ <cache-container name="hibernate" default-cache="local-query">
+ <local-cache name="entity">
+ <eviction strategy="LRU" max-entries="10000"/>
+ <expiration max-idle="100000"/>
+ </local-cache>
+ <local-cache name="local-query">
+ <eviction strategy="LRU" max-entries="10000"/>
+ <expiration max-idle="100000"/>
+ </local-cache>
+ <local-cache name="timestamps">
+ <eviction strategy="NONE"/>
+ </local-cache>
+ </cache-container>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:jca:1.0">
+ <archive-validation enabled="true"/>
+ <bean-validation enabled="true"/>
+ <default-workmanager>
+ <short-running-threads blocking="true">
+ <core-threads count="10" per-cpu="20"/>
+ <queue-length count="10" per-cpu="20"/>
+ <max-threads count="10" per-cpu="20"/>
+ <keepalive-time time="10" unit="seconds"/>
+ </short-running-threads>
+ <long-running-threads blocking="true">
+ <core-threads count="10" per-cpu="20"/>
+ <queue-length count="10" per-cpu="20"/>
+ <max-threads count="10" per-cpu="20"/>
+ <keepalive-time time="10" unit="seconds"/>
+ </long-running-threads>
+ </default-workmanager>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jmx:1.0">
+ <jmx-connector registry-binding="jmx-connector-registry" server-binding="jmx-connector-server" />
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jpa:1.0">
+ <jpa default-datasource=""/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:naming:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:osgi:1.0" activation="lazy">
+ <configuration pid="org.apache.felix.webconsole.internal.servlet.OsgiManager">
+ <property name="manager.root">jboss-osgi</property>
+ </configuration>
+ <properties>
+ <!--
+ A comma seperated list of module identifiers. Each system module
+ is added as a dependency to the OSGi framework module. The packages
+ from these system modules can be made visible as framework system packages.
+ http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Constants.html#FRAMEWORK_SYSTEMPACKAGES_EXTRA
+ -->
+ <property name="org.jboss.osgi.system.modules">
+ org.apache.commons.logging,
+ org.apache.log4j,
+ org.jboss.as.osgi,
+ org.slf4j,
+ </property>
+ <!--
+ Framework environment property identifying extra packages which the system bundle
+ must export from the current execution environment
+ -->
+ <property name="org.osgi.framework.system.packages.extra">
+ org.apache.commons.logging;version=1.1.1,
+ org.apache.log4j;version=1.2,
+ org.jboss.as.osgi.service;version=7.0,
+ org.jboss.osgi.deployment.interceptor;version=1.0,
+ org.jboss.osgi.spi.capability;version=1.0,
+ org.jboss.osgi.spi.util;version=1.0,
+ org.jboss.osgi.testing;version=1.0,
+ org.jboss.osgi.vfs;version=1.0,
+ org.slf4j;version=1.5.10,
+ </property>
+ <!-- Specifies the beginning start level of the framework -->
+ <property name="org.osgi.framework.startlevel.beginning">1</property>
+ </properties>
+ <modules>
+ <!-- modules registered with the OSGi layer on startup -->
+ <module identifier="javaee.api"/>
+ <module identifier="org.jboss.logging"/>
+ <!-- bundles installed on startup -->
+ <module identifier="org.apache.aries.util"/>
+ <module identifier="org.jboss.osgi.webconsole"/>
+ <module identifier="org.osgi.compendium"/>
+ <!-- bundles started in startlevel 1 -->
+ <module identifier="org.apache.felix.log" startlevel="1"/>
+ <module identifier="org.jboss.osgi.logging" startlevel="1"/>
+ <module identifier="org.apache.felix.configadmin" startlevel="1"/>
+ <module identifier="org.jboss.as.osgi.configadmin" startlevel="1"/>
+ <!-- bundles started in startlevel 2 -->
+ <module identifier="org.apache.aries.jmx" startlevel="2"/>
+ <module identifier="org.apache.felix.eventadmin" startlevel="2"/>
+ <module identifier="org.apache.felix.metatype" startlevel="2"/>
+ <module identifier="org.apache.felix.webconsole" startlevel="2"/>
+ <module identifier="org.jboss.osgi.jmx" startlevel="2"/>
+ <module identifier="org.jboss.osgi.http" startlevel="2"/>
+ <!-- bundles started in startlevel 3 -->
+ <module identifier="org.jboss.osgi.blueprint" startlevel="3"/>
+ <module identifier="org.jboss.osgi.webapp" startlevel="3"/>
+ <module identifier="org.jboss.osgi.xerces" startlevel="3"/>
+ </modules>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:remoting:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:security:1.0">
+ <security-domains>
+ <security-domain name="other">
+ <authentication>
+ <login-module code="UsersRoles" flag="required"/>
+ </authentication>
+ </security-domain>
+ <security-domain name="teiid-security" cache-type="default">
+ <authentication>
+ <login-module code="UsersRoles" flag="required">
+ <module-option name="usersProperties" value="teiid-security-users.properties"/>
+ <module-option name="rolesProperties" value="teiid-security-roles.properties"/>
+ </login-module>
+ </authentication>
+ </security-domain>
+ </security-domains>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:teiid:1.0">
+ <async-thread-group>teiid-async</async-thread-group>
+
+ <query-engine name = "default">
+ <object-replicator-name>teiid/replicator</object-replicator-name>
+ <security-domain>teiid-security</security-domain>
+ <jdbc socket-binding="teiid-jdbc"/>
+ <odbc socket-binding="teiid-odbc"/>
+ </query-engine>
+
+ <translator name="jdbc-simple" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="jdbc-ansi" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="access" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="db2" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="derby" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="h2" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="hsql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="informix" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="metamatrix" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="mysql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="mysql5" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="oracle" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="postgresql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="sqlserver" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="sybase" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="teiid" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="teradata" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="modeshape" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="ingres" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="ingres93" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="intersystems-cache" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="netezza" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="file" module="org.jboss.teiid.translator.file"/>
+ <translator name="ldap" module="org.jboss.teiid.translator.ldap"/>
+ <translator name="loopback" module="org.jboss.teiid.translator.loopback"/>
+ <translator name="olap" module="org.jboss.teiid.translator.olap"/>
+ <translator name="ws" module="org.jboss.teiid.translator.ws"/>
+ </subsystem>
+
+ <subsystem xmlns="urn:jboss:domain:threads:1.0">
+ <queueless-thread-pool name="teiid-async">
+ <max-threads count="2" per-cpu="2" />
+ </queueless-thread-pool>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:transactions:1.0">
+ <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
+ <core-environment>
+ <process-id>
+ <uuid />
+ </process-id>
+ </core-environment>
+ <coordinator-environment default-timeout="300"/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host">
+ <connector name="http" scheme="http" protocol="HTTP/1.1" socket-binding="http"/>
+ <virtual-server name="default-host">
+ <alias name="localhost" />
+ <alias name="example.com" />
+ </virtual-server>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
+ </profile>
+
+ <profile name="ha">
+ <subsystem xmlns="urn:jboss:domain:logging:1.1">
+ <console-handler name="CONSOLE">
+ <level name="INFO"/>
+ <formatter>
+ <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
+ </formatter>
+ </console-handler>
+
+ <periodic-rotating-file-handler name="FILE">
+ <level name="INFO"/>
+ <formatter>
+ <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
+ </formatter>
+ <file relative-to="jboss.server.log.dir" path="server.log"/>
+ <suffix value=".yyyy-MM-dd"/>
+ </periodic-rotating-file-handler>
+
+ <logger category="com.arjuna">
+ <level name="WARN"/>
+ </logger>
+ <logger category="org.apache.tomcat.util.modeler">
+ <level name="WARN"/>
+ </logger>
+ <logger category="sun.rmi">
+ <level name="WARN"/>
+ </logger>
+
+ <root-logger>
+ <level name="INFO"/>
+ <handlers>
+ <handler name="CONSOLE"/>
+ <handler name="FILE"/>
+ </handlers>
+ </root-logger>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:datasources:1.0">
+ <datasources>
+ <datasource jndi-name="java:jboss/datasources/ExampleDS" enabled="true" use-java-context="true" pool-name="H2DS">
+ <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
+ <driver>h2</driver>
+ <pool></pool>
+ <security>
+ <user-name>sa</user-name>
+ <password>sa</password>
+ </security>
+ </datasource>
+ <drivers>
+ <driver name="h2" module="com.h2database.h2">
+ <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
+ </driver>
+ </drivers>
+ </datasources>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:ee:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:ejb3:1.1" lite="true">
+ <!-- EJB3 pools -->
+ <pools>
+ <bean-instance-pools>
+ <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5"
+ instance-acquisition-timeout-unit="MINUTES"/>
+ </bean-instance-pools>
+ </pools>
+
+ <!-- Session bean configurations -->
+ <session-bean>
+ <stateless>
+ <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
+ </stateless>
+ </session-bean>
+
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:infinispan:1.0" default-cache-container="cluster">
+ <cache-container name="cluster" default-cache="default">
+ <alias>ha-partition</alias>
+ <replicated-cache name="default" mode="SYNC" batching="true">
+ <locking isolation="REPEATABLE_READ"/>
+ </replicated-cache>
+ </cache-container>
+ <cache-container name="web" default-cache="repl">
+ <alias>standard-session-cache</alias>
+ <replicated-cache name="repl" mode="ASYNC" batching="true">
+ <locking isolation="REPEATABLE_READ"/>
+ <file-store/>
+ </replicated-cache>
+ <distributed-cache name="dist" mode="ASYNC" batching="true">
+ <locking isolation="REPEATABLE_READ"/>
+ <file-store/>
+ </distributed-cache>
+ </cache-container>
+ <cache-container name="sfsb" default-cache="repl">
+ <alias>sfsb-cache</alias>
+ <alias>jboss.cache:service=EJB3SFSBClusteredCache</alias>
+ <replicated-cache name="repl" mode="ASYNC" batching="true">
+ <locking isolation="REPEATABLE_READ"/>
+ <eviction strategy="LRU" max-entries="10000"/>
+ <file-store/>
+ </replicated-cache>
+ </cache-container>
+ <cache-container name="hibernate" default-cache="local-query">
+ <invalidation-cache name="entity" mode="SYNC">
+ <eviction strategy="LRU" max-entries="10000"/>
+ <expiration max-idle="100000"/>
+ </invalidation-cache>
+ <local-cache name="local-query">
+ <eviction strategy="LRU" max-entries="10000"/>
+ <expiration max-idle="100000"/>
+ </local-cache>
+ <replicated-cache name="timestamps" mode="ASYNC">
+ <eviction strategy="NONE"/>
+ </replicated-cache>
+ </cache-container>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:jca:1.0">
+ <archive-validation enabled="true"/>
+ <bean-validation enabled="true"/>
+ <default-workmanager>
+ <short-running-threads blocking="true">
+ <core-threads count="10" per-cpu="20"/>
+ <queue-length count="10" per-cpu="20"/>
+ <max-threads count="10" per-cpu="20"/>
+ <keepalive-time time="10" unit="seconds"/>
+ </short-running-threads>
+ <long-running-threads blocking="true">
+ <core-threads count="10" per-cpu="20"/>
+ <queue-length count="10" per-cpu="20"/>
+ <max-threads count="10" per-cpu="20"/>
+ <keepalive-time time="10" unit="seconds"/>
+ </long-running-threads>
+ </default-workmanager>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp">
+ <stack name="udp">
+ <transport type="UDP" socket-binding="jgroups-udp" diagnostics-socket-binding="jgroups-diagnostics"/>
+ <protocol type="PING"/>
+ <protocol type="MERGE2"/>
+ <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
+ <protocol type="FD"/>
+ <protocol type="VERIFY_SUSPECT"/>
+ <protocol type="BARRIER"/>
+ <protocol type="pbcast.NAKACK"/>
+ <protocol type="UNICAST"/>
+ <protocol type="pbcast.STABLE"/>
+ <protocol type="VIEW_SYNC"/>
+ <protocol type="pbcast.GMS"/>
+ <protocol type="UFC"/>
+ <protocol type="MFC"/>
+ <protocol type="FRAG2"/>
+ <protocol type="pbcast.STREAMING_STATE_TRANSFER"/>
+ <protocol type="pbcast.FLUSH"/>
+ </stack>
+ <stack name="tcp">
+ <transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/>
+ <protocol type="MPING" socket-binding="jgroups-mping"/>
+ <protocol type="MERGE2"/>
+ <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
+ <protocol type="FD"/>
+ <protocol type="VERIFY_SUSPECT"/>
+ <protocol type="BARRIER"/>
+ <protocol type="pbcast.NAKACK"/>
+ <protocol type="UNICAST"/>
+ <protocol type="pbcast.STABLE"/>
+ <protocol type="VIEW_SYNC"/>
+ <protocol type="pbcast.GMS"/>
+ <protocol type="UFC"/>
+ <protocol type="MFC"/>
+ <protocol type="FRAG2"/>
+ <protocol type="pbcast.STREAMING_STATE_TRANSFER"/>
+ <protocol type="pbcast.FLUSH"/>
+ </stack>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jmx:1.0">
+ <jmx-connector registry-binding="jmx-connector-registry" server-binding="jmx-connector-server" />
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:jpa:1.0">
+ <jpa default-datasource=""/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:modcluster:1.0">
+ <mod-cluster-config advertise-socket="modcluster"/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:naming:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:osgi:1.0" activation="lazy">
+ <configuration pid="org.apache.felix.webconsole.internal.servlet.OsgiManager">
+ <property name="manager.root">jboss-osgi</property>
+ </configuration>
+ <properties>
+ <!--
+ A comma seperated list of module identifiers. Each system module
+ is added as a dependency to the OSGi framework module. The packages
+ from these system modules can be made visible as framework system packages.
+ http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Constants.html#FRAMEWORK_SYSTEMPACKAGES_EXTRA
+ -->
+ <property name="org.jboss.osgi.system.modules">
+ org.apache.commons.logging,
+ org.apache.log4j,
+ org.jboss.as.osgi,
+ org.slf4j,
+ </property>
+ <!--
+ Framework environment property identifying extra packages which the system bundle
+ must export from the current execution environment
+ -->
+ <property name="org.osgi.framework.system.packages.extra">
+ org.apache.commons.logging;version=1.1.1,
+ org.apache.log4j;version=1.2,
+ org.jboss.as.osgi.service;version=7.0,
+ org.jboss.osgi.deployment.interceptor;version=1.0,
+ org.jboss.osgi.spi.capability;version=1.0,
+ org.jboss.osgi.spi.util;version=1.0,
+ org.jboss.osgi.testing;version=1.0,
+ org.jboss.osgi.vfs;version=1.0,
+ org.slf4j;version=1.5.10,
+ </property>
+ <!-- Specifies the beginning start level of the framework -->
+ <property name="org.osgi.framework.startlevel.beginning">1</property>
+ </properties>
+ <modules>
+ <!-- modules registered with the OSGi layer on startup -->
+ <module identifier="javaee.api"/>
+ <module identifier="org.jboss.logging"/>
+ <!-- bundles installed on startup -->
+ <module identifier="org.apache.aries.util"/>
+ <module identifier="org.jboss.osgi.webconsole"/>
+ <module identifier="org.osgi.compendium"/>
+ <!-- bundles started in startlevel 1 -->
+ <module identifier="org.apache.felix.log" startlevel="1"/>
+ <module identifier="org.jboss.osgi.logging" startlevel="1"/>
+ <module identifier="org.apache.felix.configadmin" startlevel="1"/>
+ <module identifier="org.jboss.as.osgi.configadmin" startlevel="1"/>
+ <!-- bundles started in startlevel 2 -->
+ <module identifier="org.apache.aries.jmx" startlevel="2"/>
+ <module identifier="org.apache.felix.eventadmin" startlevel="2"/>
+ <module identifier="org.apache.felix.metatype" startlevel="2"/>
+ <module identifier="org.apache.felix.webconsole" startlevel="2"/>
+ <module identifier="org.jboss.osgi.jmx" startlevel="2"/>
+ <module identifier="org.jboss.osgi.http" startlevel="2"/>
+ <!-- bundles started in startlevel 3 -->
+ <module identifier="org.jboss.osgi.blueprint" startlevel="3"/>
+ <module identifier="org.jboss.osgi.webapp" startlevel="3"/>
+ <module identifier="org.jboss.osgi.xerces" startlevel="3"/>
+ </modules>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:remoting:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
+ <subsystem xmlns="urn:jboss:domain:security:1.0">
+ <security-domains>
+ <security-domain name="other">
+ <authentication>
+ <login-module code="UsersRoles" flag="required"/>
+ </authentication>
+ </security-domain>
+ <security-domain name="teiid-security" cache-type="default">
+ <authentication>
+ <login-module code="UsersRoles" flag="required">
+ <module-option name="usersProperties" value="teiid-security-users.properties"/>
+ <module-option name="rolesProperties" value="teiid-security-roles.properties"/>
+ </login-module>
+ </authentication>
+ </security-domain>
+ </security-domains>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:teiid:1.0">
+ <async-thread-group>teiid-async</async-thread-group>
+
+ <query-engine name = "default">
+ <object-replicator-name>teiid/replicator</object-replicator-name>
+ <security-domain>teiid-security</security-domain>
+ <jdbc socket-binding="teiid-jdbc"/>
+ <odbc socket-binding="teiid-odbc"/>
+ </query-engine>
+
+ <translator name="jdbc-simple" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="jdbc-ansi" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="access" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="db2" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="derby" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="h2" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="hsql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="informix" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="metamatrix" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="mysql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="mysql5" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="oracle" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="postgresql" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="sqlserver" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="sybase" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="teiid" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="teradata" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="modeshape" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="ingres" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="ingres93" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="intersystems-cache" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="netezza" module="org.jboss.teiid.translator.jdbc"/>
+ <translator name="file" module="org.jboss.teiid.translator.file"/>
+ <translator name="ldap" module="org.jboss.teiid.translator.ldap"/>
+ <translator name="loopback" module="org.jboss.teiid.translator.loopback"/>
+ <translator name="olap" module="org.jboss.teiid.translator.olap"/>
+ <translator name="ws" module="org.jboss.teiid.translator.ws"/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:threads:1.0">
+ <queueless-thread-pool name="teiid-async">
+ <max-threads count="2" per-cpu="2" />
+ </queueless-thread-pool>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:transactions:1.0">
+ <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
+ <core-environment>
+ <process-id>
+ <uuid />
+ </process-id>
+ </core-environment>
+ <coordinator-environment default-timeout="300"/>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host">
+ <connector name="http" scheme="http" protocol="HTTP/1.1" socket-binding="http"/>
+ <virtual-server name="default-host">
+ <alias name="localhost" />
+ <alias name="example.com" />
+ </virtual-server>
+ </subsystem>
+ <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
+ </profile>
+ </profiles>
+
+
+ <!--
+ Named interfaces that can be referenced elsewhere in the configuration. The configuration
+ for how to associate these logical names with an actual network interface can either
+ be specified here or can be declared on a per-host basis in the equivalent element in host.xml.
+
+ These default configurations require the binding specification to be done in host.xml.
+ -->
+ <interfaces>
+ <interface name="management"/>
+ <interface name="public"/>
+ </interfaces>
+
+ <socket-binding-groups>
+ <socket-binding-group name="standard-sockets" default-interface="public">
+ <socket-binding name="http" port="8080"/>
+ <socket-binding name="https" port="8443"/>
+ <socket-binding name="jmx-connector-registry" port="1090"/>
+ <socket-binding name="jmx-connector-server" port="1091"/>
+ <socket-binding name="jndi" port="1099"/>
+ <socket-binding name="osgi-http" port="8090"/>
+ <socket-binding name="remoting" port="4447"/>
+ <socket-binding name="txn-recovery-environment" port="4712"/>
+ <socket-binding name="txn-status-manager" port="4713"/>
+ <socket-binding name="teiid-jdbc" port="31000"/>
+ <socket-binding name="teiid-odbc" port="35432"/>
+ </socket-binding-group>
+ <socket-binding-group name="ha-sockets" default-interface="public">
+ <socket-binding name="http" port="8080"/>
+ <socket-binding name="https" port="8443"/>
+ <socket-binding name="jgroups-diagnostics" port="0" multicast-address="224.0.75.75" multicast-port="7500"/>
+ <socket-binding name="jgroups-mping" port="0" multicast-address="230.0.0.4" multicast-port="45700"/>
+ <socket-binding name="jgroups-tcp" port="7600"/>
+ <socket-binding name="jgroups-tcp-fd" port="57600"/>
+ <socket-binding name="jgroups-udp" port="55200" multicast-address="230.0.0.4" multicast-port="45688"/>
+ <socket-binding name="jgroups-udp-fd" port="54200"/>
+ <socket-binding name="jmx-connector-registry" port="1090"/>
+ <socket-binding name="jmx-connector-server" port="1091"/>
+ <socket-binding name="jndi" port="1099"/>
+ <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
+ <socket-binding name="osgi-http" port="8090"/>
+ <socket-binding name="remoting" port="4447"/>
+ <socket-binding name="txn-recovery-environment" port="4712"/>
+ <socket-binding name="txn-status-manager" port="4713"/>
+ <socket-binding name="teiid-jdbc" port="31000"/>
+ <socket-binding name="teiid-odbc" port="35432"/>
+ </socket-binding-group>
+ </socket-binding-groups>
+
+ <server-groups>
+ <server-group name="main-server-group" profile="default">
+ <jvm name="default">
+ <heap size="64m" max-size="512m"/>
+ </jvm>
+ <socket-binding-group ref="standard-sockets"/>
+ </server-group>
+
+ <server-group name="other-server-group" profile="ha">
+ <jvm name="default">
+ <heap size="64m" max-size="512m"/>
+ </jvm>
+ <socket-binding-group ref="ha-sockets"/>
+ </server-group>
+ </server-groups>
+
+</domain>
Property changes on: branches/as7/build/kits/jboss-as7/domain/domain-teiid.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/as7/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml
===================================================================
--- branches/as7/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml 2011-09-06 21:53:22 UTC (rev 3454)
@@ -10,6 +10,7 @@
<resource-root path="teiid-runtime-${project.version}.jar" />
<resource-root path="teiid-engine-${project.version}.jar" />
<resource-root path="teiid-admin-${project.version}.jar" />
+ <resource-root path="teiid-cache-jbosscache-${project.version}.jar" />
<resource-root path="saxonhe-9.2.1.5.jar" />
<resource-root path="json-simple-1.1.jar" />
<resource-root path="conf" />
Modified: branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml
===================================================================
--- branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml 2011-09-06 21:53:22 UTC (rev 3454)
@@ -276,15 +276,11 @@
<async-thread-group>teiid-async</async-thread-group>
<query-engine name = "default">
- <object-replicator-name>teiid/replicator</object-replicator-name>
<security-domain>teiid-security</security-domain>
- <jdbc>
- <socket-binding>teiid-jdbc</socket-binding>
- </jdbc>
- <odbc>
- <socket-binding>teiid-odbc</socket-binding>
- </odbc>
+ <jdbc socket-binding="teiid-jdbc"/>
+ <odbc socket-binding="teiid-odbc"/>
</query-engine>
+
<translator name="jdbc-simple" module="org.jboss.teiid.translator.jdbc"/>
<translator name="jdbc-ansi" module="org.jboss.teiid.translator.jdbc"/>
<translator name="access" module="org.jboss.teiid.translator.jdbc"/>
Modified: branches/as7/cache-jbosscache/src/main/java/org/teiid/cache/jboss/JBossCacheFactory.java
===================================================================
--- branches/as7/cache-jbosscache/src/main/java/org/teiid/cache/jboss/JBossCacheFactory.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/cache-jbosscache/src/main/java/org/teiid/cache/jboss/JBossCacheFactory.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -29,15 +29,14 @@
import org.jboss.cache.Node;
import org.jboss.cache.Region;
import org.jboss.cache.config.EvictionAlgorithmConfig;
-import org.jboss.cache.config.EvictionConfig;
import org.jboss.cache.config.EvictionRegionConfig;
import org.jboss.cache.eviction.ExpirationAlgorithmConfig;
import org.jboss.cache.eviction.LRUAlgorithmConfig;
import org.jboss.cache.eviction.RemoveOnEvictActionPolicy;
import org.teiid.cache.Cache;
import org.teiid.cache.CacheConfiguration;
-import org.teiid.cache.CacheFactory;
import org.teiid.cache.CacheConfiguration.Policy;
+import org.teiid.cache.CacheFactory;
import org.teiid.core.TeiidRuntimeException;
Modified: branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
===================================================================
--- branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -21,7 +21,6 @@
*/
package org.teiid.dqp.internal.process;
-import org.teiid.cache.CacheConfiguration;
import org.teiid.client.RequestMessage;
@@ -46,8 +45,6 @@
private boolean exceptionOnMaxSourceRows = true;
private int maxSourceRows = -1;
private int maxActivePlans = DEFAULT_MAX_ACTIVE_PLANS;
- private CacheConfiguration resultsetCacheConfig;
- private CacheConfiguration preparedPlanCacheConfig = new CacheConfiguration();
private int maxODBCLobSizeAllowed = 5*1024*1024; // 5 MB
private int userRequestSourceConcurrency = DEFAULT_USER_REQUEST_SOURCE_CONCURRENCY;
private boolean detectingChangeEvents = true;
@@ -101,19 +98,7 @@
public void setLobChunkSizeInKB(int lobChunkSizeInKB) {
this.lobChunkSizeInKB = lobChunkSizeInKB;
}
-
- public CacheConfiguration getResultsetCacheConfig() {
- return this.resultsetCacheConfig;
- }
- public void setResultsetCacheConfig(CacheConfiguration config) {
- this.resultsetCacheConfig = config;
- }
-
- public boolean isResultSetCacheEnabled() {
- return this.resultsetCacheConfig != null;
- }
-
/**
* Determine whether role checking is enabled on the server.
* @return <code>true</code> if server-side role checking is enabled.
@@ -177,15 +162,6 @@
this.authorizationValidator = authorizationValidator;
}
- public CacheConfiguration getPreparedPlanCacheConfig() {
- return preparedPlanCacheConfig;
- }
-
- public void setPreparedPlanCacheConfig(
- CacheConfiguration preparedPlanCacheConfig) {
- this.preparedPlanCacheConfig = preparedPlanCacheConfig;
- }
-
public boolean isDetectingChangeEvents() {
return detectingChangeEvents;
}
Modified: branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -22,12 +22,7 @@
package org.teiid.dqp.internal.process;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.FutureTask;
@@ -44,8 +39,6 @@
import org.teiid.adminapi.impl.RequestMetadata;
import org.teiid.adminapi.impl.TransactionMetadata;
import org.teiid.adminapi.impl.WorkerPoolStatisticsMetadata;
-import org.teiid.cache.CacheConfiguration;
-import org.teiid.cache.CacheFactory;
import org.teiid.client.DQP;
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
@@ -65,13 +58,10 @@
import org.teiid.dqp.message.RequestID;
import org.teiid.dqp.service.BufferService;
import org.teiid.dqp.service.TransactionContext;
-import org.teiid.dqp.service.TransactionService;
import org.teiid.dqp.service.TransactionContext.Scope;
+import org.teiid.dqp.service.TransactionService;
import org.teiid.events.EventDistributor;
-import org.teiid.logging.CommandLogMessage;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
-import org.teiid.logging.MessageLevel;
+import org.teiid.logging.*;
import org.teiid.logging.CommandLogMessage.Event;
import org.teiid.metadata.MetadataRepository;
import org.teiid.query.QueryPlugin;
@@ -202,7 +192,6 @@
private int currentlyActivePlans;
private int userRequestSourceConcurrency;
private LinkedList<RequestWorkItem> waitingPlans = new LinkedList<RequestWorkItem>();
- private CacheFactory cacheFactory;
private AuthorizationValidator authorizationValidator;
@@ -685,18 +674,6 @@
//get buffer manager
this.bufferManager = bufferService.getBufferManager();
- //result set cache
- CacheConfiguration rsCacheConfig = config.getResultsetCacheConfig();
- if (rsCacheConfig != null) {
- this.rsCache = new SessionAwareCache<CachedResults>(this.cacheFactory, SessionAwareCache.Type.RESULTSET, rsCacheConfig);
- this.rsCache.setBufferManager(this.bufferManager);
- }
-
- //prepared plan cache
- CacheConfiguration ppCacheConfig = config.getPreparedPlanCacheConfig();
- prepPlanCache = new SessionAwareCache<PreparedPlan>(this.cacheFactory, SessionAwareCache.Type.PREPAREDPLAN, ppCacheConfig);
- prepPlanCache.setBufferManager(this.bufferManager);
-
this.processWorkerPool = new ThreadReuseExecutor(DQPConfiguration.PROCESS_PLAN_QUEUE_NAME, config.getMaxThreads());
this.maxActivePlans = config.getMaxActivePlans();
@@ -899,10 +876,14 @@
return this.config.getMaxSourceRows();
}
- public void setCacheFactory(CacheFactory factory) {
- this.cacheFactory = factory;
+ public void setResultsetCache(SessionAwareCache<CachedResults> cache) {
+ this.rsCache = cache;
}
+ public void setPreparedPlanCache(SessionAwareCache<PreparedPlan> cache) {
+ this.prepPlanCache = cache;
+ }
+
public int getUserRequestSourceConcurrency() {
return userRequestSourceConcurrency;
}
Modified: branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/SessionAwareCache.java
===================================================================
--- branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/SessionAwareCache.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/engine/src/main/java/org/teiid/dqp/internal/process/SessionAwareCache.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -79,7 +79,7 @@
this(new DefaultCacheFactory(), Type.RESULTSET, new CacheConfiguration(Policy.LRU, 60, maxSize, "default")); //$NON-NLS-1$
}
- SessionAwareCache (final CacheFactory cacheFactory, final Type type, final CacheConfiguration config){
+ public SessionAwareCache (final CacheFactory cacheFactory, final Type type, final CacheConfiguration config){
this.maxSize = config.getMaxEntries();
if(this.maxSize < 0){
this.maxSize = Integer.MAX_VALUE;
Modified: branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
--- branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -117,13 +117,13 @@
return BufferManagerFactory.createBufferManager();
}
});
- core.setCacheFactory(new DefaultCacheFactory());
+ core.setResultsetCache(new SessionAwareCache<CachedResults>(new DefaultCacheFactory(), SessionAwareCache.Type.RESULTSET, new CacheConfiguration()));
+ core.setPreparedPlanCache(new SessionAwareCache<PreparedPlan>(new DefaultCacheFactory(), SessionAwareCache.Type.PREPAREDPLAN, new CacheConfiguration()));
core.setTransactionService(new FakeTransactionService());
config = new DQPConfiguration();
config.setMaxActivePlans(1);
config.setUserRequestSourceConcurrency(2);
- config.setResultsetCacheConfig(new CacheConfiguration());
core.start(config);
core.getPrepPlanCache().setModTime(1);
core.getRsCache().setModTime(1);
Modified: branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
--- branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -27,6 +27,7 @@
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
+import org.teiid.cache.CacheConfiguration;
import org.teiid.cache.DefaultCacheFactory;
import org.teiid.client.RequestMessage;
import org.teiid.common.buffer.BlockedException;
@@ -78,7 +79,8 @@
rm = new DQPCore();
rm.setTransactionService(new FakeTransactionService());
rm.setBufferService(new FakeBufferService());
- rm.setCacheFactory(new DefaultCacheFactory());
+ rm.setResultsetCache(new SessionAwareCache<CachedResults>(new DefaultCacheFactory(), SessionAwareCache.Type.RESULTSET, new CacheConfiguration()));
+ rm.setPreparedPlanCache(new SessionAwareCache<PreparedPlan>(new DefaultCacheFactory(), SessionAwareCache.Type.PREPAREDPLAN, new CacheConfiguration()));
rm.start(new DQPConfiguration());
FakeBufferService bs = new FakeBufferService();
Modified: branches/as7/jboss-integration/pom.xml
===================================================================
--- branches/as7/jboss-integration/pom.xml 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/pom.xml 2011-09-06 21:53:22 UTC (rev 3454)
@@ -17,6 +17,11 @@
<artifactId>teiid-runtime</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-cache-jbosscache</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-api</artifactId>
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Configuration.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Configuration.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Configuration.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -69,16 +69,15 @@
public static final String MAX_OPEN_FILES = "max-open-files";//$NON-NLS-1$
//cache-config
- public static final String MAX_ENTRIES = "maxEntries";//$NON-NLS-1$
- public static final String MAX_AGE_IN_SECS = "maxAgeInSeconds";//$NON-NLS-1$
- public static final String MAX_STALENESS = "maxStaleness";//$NON-NLS-1$
+ public static final String MAX_ENTRIES = "max-entries";//$NON-NLS-1$
+ public static final String MAX_AGE_IN_SECS = "max-age-in-seconds";//$NON-NLS-1$
+ public static final String MAX_STALENESS = "max-staleness";//$NON-NLS-1$
public static final String CACHE_TYPE = "type";//$NON-NLS-1$
- public static final String CACHE_LOCATION= "location";//$NON-NLS-1$
+ public static final String ENABLE = "enable";//$NON-NLS-1$
// cache-factory
- public static final String CACHE_SERVICE_JNDI_NAME = "cache-service-jndi-name";//$NON-NLS-1$
+ public static final String CACHE_SERVICE_JNDI_NAME = "cache-manager-jndi-name";//$NON-NLS-1$
public static final String RESULTSET_CACHE_NAME = "resultsetCacheName";//$NON-NLS-1$
- public static final String CLASS = "class";//$NON-NLS-1$
//socket config
public static final String MAX_SOCKET_THREAD_SIZE = "maxSocketThreads";//$NON-NLS-1$
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -76,7 +76,7 @@
MAX_AGE_IN_SECS_ELEMENT(MAX_AGE_IN_SECS),
MAX_STALENESS_ELEMENT(MAX_STALENESS),
CACHE_TYPE_ELEMENT(CACHE_TYPE),
- CACHE_LOCATION_ELEMENT(CACHE_LOCATION),
+ ENABLE_ATTRIBUTE(ENABLE),
// cache-factory
CACHE_SERVICE_JNDI_NAME_ELEMENT(CACHE_SERVICE_JNDI_NAME),
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/QueryEngineAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/QueryEngineAdd.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/QueryEngineAdd.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -46,11 +46,11 @@
import org.jboss.msc.inject.ConcurrentMapInjector;
import org.jboss.msc.service.*;
import org.jboss.msc.value.InjectedValue;
-import org.teiid.cache.CacheFactory;
import org.teiid.deployers.SystemVDBDeployer;
import org.teiid.deployers.VDBRepository;
import org.teiid.dqp.internal.datamgr.TranslatorRepository;
import org.teiid.dqp.internal.process.AuthorizationValidator;
+import org.teiid.dqp.internal.process.SessionAwareCache;
import org.teiid.jboss.deployers.RuntimeEngineDeployer;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
@@ -122,7 +122,8 @@
engineBuilder.addDependency(TeiidServiceNames.TRANSLATOR_REPO, TranslatorRepository.class, engine.getTranslatorRepositoryInjector());
engineBuilder.addDependency(TeiidServiceNames.VDB_REPO, VDBRepository.class, engine.getVdbRepositoryInjector());
engineBuilder.addDependency(TeiidServiceNames.AUTHORIZATION_VALIDATOR, AuthorizationValidator.class, engine.getAuthorizationValidatorInjector());
- engineBuilder.addDependency(TeiidServiceNames.CACHE_FACTORY, CacheFactory.class, engine.getCachefactoryInjector());
+ engineBuilder.addDependency(TeiidServiceNames.CACHE_RESULTSET, SessionAwareCache.class, engine.getResultSetCacheInjector());
+ engineBuilder.addDependency(TeiidServiceNames.CACHE_PREPAREDPLAN, SessionAwareCache.class, engine.getPreparedPlanCacheInjector());
if (jdbc != null) {
engineBuilder.addDependency(ServiceName.JBOSS.append("binding", jdbc.getSocketBinding()), SocketBinding.class, engine.getJdbcSocketBindingInjector()); //$NON-NLS-1$
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidBootServicesAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidBootServicesAdd.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidBootServicesAdd.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -45,17 +45,20 @@
import org.jboss.modules.Module;
import org.jboss.modules.ModuleIdentifier;
import org.jboss.modules.ModuleLoadException;
-import org.jboss.msc.service.*;
+import org.jboss.msc.service.ServiceBuilder;
+import org.jboss.msc.service.ServiceController;
+import org.jboss.msc.service.ServiceTarget;
+import org.jboss.msc.service.ValueService;
import org.teiid.PolicyDecider;
import org.teiid.cache.CacheConfiguration;
+import org.teiid.cache.CacheConfiguration.Policy;
import org.teiid.cache.CacheFactory;
-import org.teiid.cache.DefaultCacheFactory;
+import org.teiid.cache.jboss.ClusterableCacheFactory;
+import org.teiid.common.buffer.BufferManager;
import org.teiid.deployers.SystemVDBDeployer;
import org.teiid.deployers.VDBRepository;
import org.teiid.dqp.internal.datamgr.TranslatorRepository;
-import org.teiid.dqp.internal.process.AuthorizationValidator;
-import org.teiid.dqp.internal.process.DataRolePolicyDecider;
-import org.teiid.dqp.internal.process.DefaultAuthorizationValidator;
+import org.teiid.dqp.internal.process.*;
import org.teiid.query.function.SystemFunctionManager;
import org.teiid.services.BufferServiceImpl;
@@ -104,7 +107,7 @@
distributedCacheNode.get(TYPE).set(ModelType.OBJECT);
distributedCacheNode.get(DESCRIPTION).set(bundle.getString(Configuration.CACHE_FACORY+DESC));
distributedCacheNode.get(REQUIRED).set(false);
- describeDistributedCache(preparedPlanCacheNode, ATTRIBUTES, bundle);
+ describeCacheFactory(preparedPlanCacheNode, ATTRIBUTES, bundle);
}
@Override
@@ -115,12 +118,18 @@
if (operation.hasDefined(Configuration.ASYNC_THREAD_GROUP)) {
model.get(Configuration.ASYNC_THREAD_GROUP).set(operation.get(Configuration.ASYNC_THREAD_GROUP).asString());
}
+
populateBufferManager(operation, model);
- //TODO: add cache model descriptions
- // these are just place holders
-// model.get(Configuration.QUERY_ENGINE);
-// model.get(Configuration.TRANSLATOR);
+ if (operation.hasDefined(Configuration.POLICY_DECIDER_MODULE)) {
+ model.get(Configuration.POLICY_DECIDER_MODULE).set(operation.get(Configuration.POLICY_DECIDER_MODULE).asString());
+ }
+
+ if (operation.hasDefined(Configuration.AUTHORIZATION_VALIDATOR_MODULE)) {
+ model.get(Configuration.AUTHORIZATION_VALIDATOR_MODULE).set(operation.get(Configuration.AUTHORIZATION_VALIDATOR_MODULE).asString());
+ }
+
+ populateCache(operation, model);
}
@Override
@@ -214,7 +223,7 @@
newControllers.add(target.addService(TeiidServiceNames.AUTHORIZATION_VALIDATOR, authValidatorService).install());
//cache factory
- final CacheFactory cacheFactory = getCacheFactory(operation.get(Configuration.CACHE_FACORY));
+ final CacheFactory cacheFactory = buildCacheFactory(operation.get(Configuration.CACHE_FACORY));
ValueService<CacheFactory> cacheFactoryService = new ValueService<CacheFactory>(new org.jboss.msc.value.Value<CacheFactory>() {
@Override
public CacheFactory getValue() throws IllegalStateException, IllegalArgumentException {
@@ -223,13 +232,27 @@
});
newControllers.add(target.addService(TeiidServiceNames.CACHE_FACTORY, cacheFactoryService).install());
- CacheConfiguration resultsetCache = buildCacheConfig(operation.get(Configuration.RESULTSET_CACHE));
- CacheConfiguration preparePlanCache = buildCacheConfig(operation.get(Configuration.PREPAREDPLAN_CACHE));
+ // resultset cache
+ final SessionAwareCache<CachedResults> resultsetCache = buildResultsetCache(operation.get(Configuration.RESULTSET_CACHE), cacheFactory, bufferManager.getBufferManager());
+ ValueService<SessionAwareCache<CachedResults>> resultSetService = new ValueService<SessionAwareCache<CachedResults>>(new org.jboss.msc.value.Value<SessionAwareCache<CachedResults>>() {
+ @Override
+ public SessionAwareCache<CachedResults> getValue() throws IllegalStateException, IllegalArgumentException {
+ return resultsetCache;
+ }
+ });
+ newControllers.add(target.addService(TeiidServiceNames.CACHE_RESULTSET, resultSetService).install());
+ // prepared-plan cache
+ final SessionAwareCache<PreparedPlan> preparedPlanCache = buildPreparedPlanCache(operation.get(Configuration.PREPAREDPLAN_CACHE), cacheFactory, bufferManager.getBufferManager());
+ ValueService<SessionAwareCache<PreparedPlan>> preparedPlanService = new ValueService<SessionAwareCache<PreparedPlan>>(new org.jboss.msc.value.Value<SessionAwareCache<PreparedPlan>>() {
+ @Override
+ public SessionAwareCache<PreparedPlan> getValue() throws IllegalStateException, IllegalArgumentException {
+ return preparedPlanCache;
+ }
+ });
+ newControllers.add(target.addService(TeiidServiceNames.CACHE_PREPAREDPLAN, preparedPlanService).install());
- // add translators
-
// Register VDB deployer
context.addStep(new AbstractDeploymentChainStep() {
@Override
@@ -338,7 +361,47 @@
}
}
- private static void describeDistributedCache(ModelNode node, String type, ResourceBundle bundle) {
+ private void populateCache(ModelNode operation, ModelNode model) {
+ if (operation.hasDefined(Configuration.CACHE_FACORY)) {
+ ModelNode cacheFactory = operation.get(Configuration.CACHE_FACORY);
+ if (cacheFactory.hasDefined(Configuration.CACHE_SERVICE_JNDI_NAME)) {
+ model.get(Configuration.CACHE_FACORY, Configuration.CACHE_SERVICE_JNDI_NAME).set(cacheFactory.get(Configuration.CACHE_SERVICE_JNDI_NAME).asString());
+ }
+ if (cacheFactory.hasDefined(Configuration.RESULTSET_CACHE_NAME)) {
+ model.get(Configuration.CACHE_FACORY, Configuration.RESULTSET_CACHE_NAME).set(cacheFactory.get(Configuration.RESULTSET_CACHE_NAME).asString());
+ }
+ }
+
+ if (operation.hasDefined(Configuration.RESULTSET_CACHE)) {
+ ModelNode cache = operation.get(Configuration.RESULTSET_CACHE);
+ populateCacheConfig(cache, model.get(Configuration.RESULTSET_CACHE));
+ }
+
+ if (operation.hasDefined(Configuration.PREPAREDPLAN_CACHE)) {
+ ModelNode cache = operation.get(Configuration.PREPAREDPLAN_CACHE);
+ populateCacheConfig(cache, model.get(Configuration.PREPAREDPLAN_CACHE));
+ }
+ }
+
+ private void populateCacheConfig(ModelNode operation, ModelNode model) {
+ if (operation.hasDefined(Configuration.ENABLE)) {
+ model.get(Configuration.ENABLE).set(operation.get(Configuration.ENABLE).asBoolean());
+ }
+ if (operation.hasDefined(Configuration.MAX_ENTRIES)) {
+ model.get(Configuration.MAX_ENTRIES).set(operation.get(Configuration.MAX_ENTRIES).asInt());
+ }
+ if (operation.hasDefined(Configuration.MAX_AGE_IN_SECS)) {
+ model.get(Configuration.MAX_AGE_IN_SECS).set(operation.get(Configuration.MAX_AGE_IN_SECS).asInt());
+ }
+ if (operation.hasDefined(Configuration.MAX_STALENESS)) {
+ model.get(Configuration.MAX_STALENESS).set(operation.get(Configuration.MAX_STALENESS).asInt());
+ }
+ if (operation.hasDefined(Configuration.CACHE_TYPE)) {
+ model.get(Configuration.CACHE_TYPE).set(operation.get(Configuration.CACHE_TYPE).asString());
+ }
+ }
+
+ private static void describeCacheFactory(ModelNode node, String type, ResourceBundle bundle) {
addAttribute(node, Configuration.CACHE_SERVICE_JNDI_NAME, type, bundle.getString(Configuration.CACHE_SERVICE_JNDI_NAME+DESC), ModelType.STRING, false, "java:TeiidCacheManager"); //$NON-NLS-1$
addAttribute(node, Configuration.RESULTSET_CACHE_NAME, type, bundle.getString(Configuration.RESULTSET_CACHE_NAME+DESC), ModelType.STRING, false, "teiid-resultset-cache"); //$NON-NLS-1$
}
@@ -348,7 +411,6 @@
addAttribute(node, Configuration.MAX_AGE_IN_SECS, type, bundle.getString(Configuration.MAX_AGE_IN_SECS+DESC), ModelType.INT, false, "7200");//$NON-NLS-1$
addAttribute(node, Configuration.MAX_STALENESS, type, bundle.getString(Configuration.MAX_STALENESS+DESC), ModelType.INT, false, "60");//$NON-NLS-1$
addAttribute(node, Configuration.CACHE_TYPE, type, bundle.getString(Configuration.CACHE_TYPE+DESC), ModelType.STRING, false, "EXPIRATION"); //$NON-NLS-1$
- addAttribute(node, Configuration.CACHE_LOCATION, type, bundle.getString(Configuration.CACHE_LOCATION+DESC), ModelType.STRING, false, "resultset"); //$NON-NLS-1$
}
private static void describePreparedPlanCache(ModelNode node, String type, ResourceBundle bundle) {
@@ -356,51 +418,97 @@
addAttribute(node, Configuration.MAX_AGE_IN_SECS, type, bundle.getString(Configuration.MAX_AGE_IN_SECS+DESC), ModelType.INT, false, "28800");//$NON-NLS-1$
addAttribute(node, Configuration.MAX_STALENESS, type, bundle.getString(Configuration.MAX_STALENESS+DESC), ModelType.INT, false, "0");//$NON-NLS-1$
addAttribute(node, Configuration.CACHE_TYPE, type, bundle.getString(Configuration.CACHE_TYPE+DESC), ModelType.STRING, false, "LRU"); //$NON-NLS-1$
- addAttribute(node, Configuration.CACHE_LOCATION, type, bundle.getString(Configuration.CACHE_LOCATION+DESC), ModelType.STRING, false, "preparedplan"); //$NON-NLS-1$
}
- private CacheFactory getCacheFactory(ModelNode node) {
- CacheFactory cacheFactory = new DefaultCacheFactory();
- /*
- if (node.hasDefined(Configuration.CLASS)) {
- String className = node.get(Configuration.CLASS).asString();
- }
-
- if (node.hasDefined(Configuration.ENABLED)) {
- cacheFactory.setEnabled(node.get(Configuration.ENABLED).asBoolean());
- }
- else {
- cacheFactory.setEnabled(true);
- }
+ private CacheFactory buildCacheFactory(ModelNode node) {
+ ClusterableCacheFactory cacheFactory = new ClusterableCacheFactory();
if (node.hasDefined(Configuration.CACHE_SERVICE_JNDI_NAME)) {
cacheFactory.setCacheManager(node.get(Configuration.CACHE_SERVICE_JNDI_NAME).asString());
}
if (node.hasDefined(Configuration.RESULTSET_CACHE_NAME)) {
cacheFactory.setResultsetCacheName(node.get(Configuration.RESULTSET_CACHE_NAME).asString());
}
- */
return cacheFactory;
}
- private CacheConfiguration buildCacheConfig(ModelNode node) {
+ private SessionAwareCache<CachedResults> buildResultsetCache(ModelNode node, CacheFactory cacheFactory, BufferManager bufferManager) {
+ if (node.hasDefined(Configuration.ENABLE)) {
+ if (!node.get(Configuration.ENABLE).asBoolean()) {
+ return null;
+ }
+ }
+
CacheConfiguration cacheConfig = new CacheConfiguration();
+ if (node.hasDefined(Configuration.MAX_ENTRIES)) {
+ cacheConfig.setMaxEntries(node.get(Configuration.MAX_ENTRIES).asInt());
+ }
+ else {
+ cacheConfig.setMaxEntries(1024);
+ }
+ if (node.hasDefined(Configuration.MAX_AGE_IN_SECS)) {
+ cacheConfig.setMaxAgeInSeconds(node.get(Configuration.MAX_AGE_IN_SECS).asInt());
+ }
+ else {
+ cacheConfig.setMaxAgeInSeconds(7200);
+ }
+
+ if (node.hasDefined(Configuration.MAX_STALENESS)) {
+ cacheConfig.setMaxStaleness(node.get(Configuration.MAX_STALENESS).asInt());
+ }
+ else {
+ cacheConfig.setMaxStaleness(60);
+ }
+ if (node.hasDefined(Configuration.CACHE_TYPE)) {
+ cacheConfig.setType(node.get(Configuration.CACHE_TYPE).asString());
+ }
+ else {
+ cacheConfig.setType(Policy.EXPIRATION.name());
+ }
+
+ cacheConfig.setLocation("resultset"); //$NON-NLS-1$
+ SessionAwareCache<CachedResults> resultsetCache = new SessionAwareCache<CachedResults>(cacheFactory, SessionAwareCache.Type.RESULTSET, cacheConfig);
+ resultsetCache.setBufferManager(bufferManager);
+
+ return resultsetCache;
+ }
+
+
+ private SessionAwareCache<PreparedPlan> buildPreparedPlanCache(ModelNode node, CacheFactory cacheFactory, BufferManager bufferManager) {
+
+ CacheConfiguration cacheConfig = new CacheConfiguration();
if (node.hasDefined(Configuration.MAX_ENTRIES)) {
cacheConfig.setMaxEntries(node.get(Configuration.MAX_ENTRIES).asInt());
}
+ else {
+ cacheConfig.setMaxEntries(512);
+ }
+
if (node.hasDefined(Configuration.MAX_AGE_IN_SECS)) {
cacheConfig.setMaxAgeInSeconds(node.get(Configuration.MAX_AGE_IN_SECS).asInt());
}
+ else {
+ cacheConfig.setMaxAgeInSeconds(28800);
+ }
+
if (node.hasDefined(Configuration.MAX_STALENESS)) {
cacheConfig.setMaxStaleness(node.get(Configuration.MAX_STALENESS).asInt());
}
+ else {
+ cacheConfig.setMaxStaleness(0);
+ }
if (node.hasDefined(Configuration.CACHE_TYPE)) {
cacheConfig.setType(node.get(Configuration.CACHE_TYPE).asString());
}
- if (node.hasDefined(Configuration.CACHE_LOCATION)) {
- cacheConfig.setLocation(node.get(Configuration.CACHE_LOCATION).asString());
- }
- return cacheConfig;
- }
+ else {
+ cacheConfig.setType(Policy.LRU.name());
+ }
+
+ cacheConfig.setLocation("prepared"); //$NON-NLS-1$
+ SessionAwareCache<PreparedPlan> cache = new SessionAwareCache<PreparedPlan>(cacheFactory, SessionAwareCache.Type.PREPAREDPLAN, cacheConfig);
+ cache.setBufferManager(bufferManager);
+
+ return cache;
+ }
}
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidServiceNames.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidServiceNames.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidServiceNames.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -36,6 +36,8 @@
private static ServiceName VDB_SVC_BASE = ServiceName.JBOSS.append("teiid", "vdb"); //$NON-NLS-1$ //$NON-NLS-2$
public static ServiceName OBJECT_SERIALIZER = ServiceName.JBOSS.append("teiid", "object-serializer"); //$NON-NLS-1$ //$NON-NLS-2$
public static ServiceName CACHE_FACTORY = ServiceName.JBOSS.append("teiid", "cache-factory"); //$NON-NLS-1$ //$NON-NLS-2$
+ public static ServiceName CACHE_RESULTSET = ServiceName.JBOSS.append("teiid", "cache", "resultset"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ public static ServiceName CACHE_PREPAREDPLAN = ServiceName.JBOSS.append("teiid", "cache", "prepared-plan"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
public static ServiceName translatorServiceName(String name) {
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -149,10 +149,10 @@
}
private void writeSocketConfiguration(XMLExtendedStreamWriter writer, ModelNode node) throws XMLStreamException {
+ writeAttribute(writer, Element.SOCKET_BINDING_ELEMENT, node);
writeElement(writer, Element.MAX_SOCKET_SIZE_ELEMENT, node);
writeElement(writer, Element.IN_BUFFER_SIZE_ELEMENT, node);
writeElement(writer, Element.OUT_BUFFER_SIZE_ELEMENT, node);
- writeElement(writer, Element.SOCKET_BINDING_ELEMENT, node);
if (has(node, Element.SSL_ELEMENT.getLocalName())) {
writer.writeStartElement(Element.SSL_ELEMENT.getLocalName());
@@ -190,11 +190,11 @@
}
private void writeCacheConfiguration(XMLExtendedStreamWriter writer, ModelNode node) throws XMLStreamException {
+ writeAttribute(writer, Element.ENABLE_ATTRIBUTE, node);
writeElement(writer, Element.MAX_ENTRIES_ELEMENT, node);
writeElement(writer, Element.MAX_AGE_IN_SECS_ELEMENT, node);
writeElement(writer, Element.MAX_STALENESS_ELEMENT, node);
writeElement(writer, Element.CACHE_TYPE_ELEMENT, node);
- writeElement(writer, Element.CACHE_LOCATION_ELEMENT, node);
}
private boolean has(ModelNode node, String name) {
@@ -410,7 +410,6 @@
node.get(reader.getLocalName()).set(Integer.parseInt(reader.getElementText()));
break;
case CACHE_TYPE_ELEMENT:
- case CACHE_LOCATION_ELEMENT:
node.get(reader.getLocalName()).set(reader.getElementText());
break;
default:
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -52,7 +52,6 @@
import org.teiid.adminapi.AdminException;
import org.teiid.adminapi.AdminProcessingException;
import org.teiid.adminapi.impl.*;
-import org.teiid.cache.CacheFactory;
import org.teiid.client.DQP;
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
@@ -66,7 +65,6 @@
import org.teiid.core.util.ApplicationInfo;
import org.teiid.core.util.LRUCache;
import org.teiid.deployers.CompositeVDB;
-import org.teiid.deployers.ContainerLifeCycleListener;
import org.teiid.deployers.VDBLifeCycleListener;
import org.teiid.deployers.VDBRepository;
import org.teiid.dqp.internal.datamgr.TranslatorRepository;
@@ -129,7 +127,8 @@
private final InjectedValue<TranslatorRepository> translatorRepositoryInjector = new InjectedValue<TranslatorRepository>();
private final InjectedValue<VDBRepository> vdbRepositoryInjector = new InjectedValue<VDBRepository>();
private final InjectedValue<AuthorizationValidator> authorizationValidatorInjector = new InjectedValue<AuthorizationValidator>();
- private final InjectedValue<CacheFactory> cachefactoryInjector = new InjectedValue<CacheFactory>();
+ private final InjectedValue<SessionAwareCache> preparedPlanCacheInjector = new InjectedValue<SessionAwareCache>();
+ private final InjectedValue<SessionAwareCache> resultSetCacheInjector = new InjectedValue<SessionAwareCache>();
public final ConcurrentMap<String, SecurityDomainContext> securityDomains = new ConcurrentHashMap<String, SecurityDomainContext>();
private LinkedList<String> securityDomainNames = new LinkedList<String>();
@@ -204,7 +203,8 @@
}
this.dqpCore.setMetadataRepository(this.vdbRepository.getMetadataRepository());
this.dqpCore.setEventDistributor(this.eventDistributor);
- this.dqpCore.setCacheFactory(getCachefactoryInjector().getValue());
+ this.dqpCore.setResultsetCache(getResultSetCacheInjector().getValue());
+ this.dqpCore.setPreparedPlanCache(getPreparedPlanCacheInjector().getValue());
this.dqpCore.start(this);
this.eventDistributorProxy = (EventDistributor)Proxy.newProxyInstance(Module.getCallerModule().getClassLoader(), new Class[] {EventDistributor.class}, new InvocationHandler() {
@@ -783,9 +783,13 @@
this.securityDomainNames.add(domain);
}
- public InjectedValue<CacheFactory> getCachefactoryInjector() {
- return cachefactoryInjector;
+ public InjectedValue<SessionAwareCache> getResultSetCacheInjector() {
+ return resultSetCacheInjector;
}
+
+ public InjectedValue<SessionAwareCache> getPreparedPlanCacheInjector() {
+ return preparedPlanCacheInjector;
+ }
public InjectedValue<TranslatorRepository> getTranslatorRepositoryInjector() {
return translatorRepositoryInjector;
Modified: branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2011-09-06 21:53:22 UTC (rev 3454)
@@ -106,13 +106,12 @@
#cache-config
enabled.describe=enabled
-maxEntries.describe=Max Entries allowed
-maxAgeInSeconds.describe=Max age in seconds
-maxStaleness.describe=Max staleness in seconds. Modifications are based upon data updates -1 indicates no max. (default 60 - 1 minute)
+max-entries.describe=Max Entries allowed
+max-age-in-seconds.describe=Max age in seconds
+max-staleness.describe=Max staleness in seconds. Modifications are based upon data updates -1 indicates no max. (default 60 - 1 minute)
type.describe=Allowed values are LRU, EXPIRATION. \
Setting this value to LRU will cause cache hint TTL values \
to be ignored. (default EXPIRATION)
-location.describe=location
#cache-factory
cache-service-jndi-name.describe=cache service for the distributed cache
Modified: branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd
===================================================================
--- branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd 2011-09-06 21:53:22 UTC (rev 3454)
@@ -152,17 +152,17 @@
</xs:complexType>
<xs:complexType name="cache-config">
<xs:sequence>
- <xs:element name="maxEntries" type="xs:string" minOccurs="0" maxOccurs="1" default="1024">
+ <xs:element name="max-entries" type="xs:string" minOccurs="0" maxOccurs="1" default="1024">
<xs:annotation>
<xs:documentation>Max Entries allowed (default 1024)</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="maxAgeInSeconds" type="xs:int" minOccurs="0" maxOccurs="1" default="7200">
+ <xs:element name="max-age-in-seconds" type="xs:int" minOccurs="0" maxOccurs="1" default="7200">
<xs:annotation>
<xs:documentation>Max age in seconds (default 7200 - 2 hours)</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="maxStaleness" type="xs:int" minOccurs="0" maxOccurs="1" default="-1">
+ <xs:element name="max-staleness" type="xs:int" minOccurs="0" maxOccurs="1" default="-1">
<xs:annotation>
<xs:documentation>Max staleness in seconds. Modifications are based upon data updates -1 indicates no max. (default 60 - 1 minute)</xs:documentation>
</xs:annotation>
@@ -178,11 +178,6 @@
</xs:restriction>
</xs:simpleType>
</xs:element>
- <xs:element name="location" type="xs:string" minOccurs="0" maxOccurs="1">
- <xs:annotation>
- <xs:documentation>location</xs:documentation>
- </xs:annotation>
- </xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="runtime-engine-type">
@@ -311,17 +306,13 @@
<xs:documentation>SO_SNDBUF size, 0 indicates that system default should be used (default 0)</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="socket-binding" type="xs:string" minOccurs="1" maxOccurs="1">
- <xs:annotation>
- <xs:documentation>Port binding name</xs:documentation>
- </xs:annotation>
- </xs:element>
<xs:element name="ssl" type="ssl-config" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>SSL Configuration</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
+ <xs:attribute name="socket-binding" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="ssl-config">
Modified: branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
===================================================================
--- branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-09-06 20:27:27 UTC (rev 3453)
+++ branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-09-06 21:53:22 UTC (rev 3454)
@@ -43,8 +43,7 @@
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
import org.teiid.dqp.internal.datamgr.FakeTransactionService;
-import org.teiid.dqp.internal.process.DQPConfiguration;
-import org.teiid.dqp.internal.process.DQPCore;
+import org.teiid.dqp.internal.process.*;
import org.teiid.dqp.service.FakeBufferService;
import org.teiid.metadata.FunctionMethod;
import org.teiid.metadata.MetadataRepository;
@@ -151,7 +150,16 @@
this.sessionService.setVDBRepository(repo);
this.dqp.setBufferService(new FakeBufferService());
- this.dqp.setCacheFactory(new DefaultCacheFactory());
+ DefaultCacheFactory dcf = new DefaultCacheFactory() {
+ @Override
+ public boolean isReplicated() {
+ return true; //pretend to be replicated for matview tests
+ }
+ };
+
+ this.dqp.setResultsetCache(new SessionAwareCache<CachedResults>(dcf, SessionAwareCache.Type.RESULTSET, new CacheConfiguration(Policy.LRU, 60, 250, "resultsetcache")));
+ this.dqp.setPreparedPlanCache(new SessionAwareCache<PreparedPlan>(dcf, SessionAwareCache.Type.PREPAREDPLAN, new CacheConfiguration()));
+
this.dqp.setTransactionService(new FakeTransactionService());
cmr = Mockito.mock(ConnectorManagerRepository.class);
@@ -162,13 +170,6 @@
}
});
- config.setResultsetCacheConfig(new CacheConfiguration(Policy.LRU, 60, 250, "resultsetcache")); //$NON-NLS-1$
- this.dqp.setCacheFactory(new DefaultCacheFactory() {
- @Override
- public boolean isReplicated() {
- return true; //pretend to be replicated for matview tests
- }
- });
this.dqp.start(config);
this.sessionService.setDqp(this.dqp);
More information about the teiid-commits
mailing list