[jboss-user] [JBoss Portal] - Re: CMS - UnsupportedOperationException: Blobs are not cache
sohil.shah@jboss.com
do-not-reply at jboss.com
Wed May 2 16:02:29 EDT 2007
rharari:
I recommend two solutions:
* Cleanest: Use the new JBossCachePeriststenceManager instead of the HibernatePersistenceManager. It performs better as well.
To do this: replace HibernatePeristenceManager in jboss-portal.sar/portal-cms.sar/META-INF/jboss-service.xml with JBossCachePersistenceManager.
wipe out your server/data directory and restart portal.
* If you want to continue using HibernatePersistenceManager, modify your jboss-portal.sar/portal-cms.sar/conf/hibernate.cms/domain.hbm.xml mapping to like the following:
| <?xml version="1.0"?>
| <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ~ JBoss, a division of Red Hat ~
| ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
| ~ contributors as indicated by the @authors tag. See the ~
| ~ copyright.txt 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. ~
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
|
| <!DOCTYPE hibernate-mapping PUBLIC
| "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
| "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
| <hibernate-mapping>
| <class name="org.jboss.portal.cms.hibernate.state.VersionBinVal" table="jbp_cms_version_binval" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="id"
| column="BINVAL_ID"
| type="string"
| length="255"/>
| <property
| name="data"
| column="BINVAL_DATA"
| type="blob"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.VersionNode" table="jbp_cms_version_node" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="nodeId"
| column="NODE_ID"
| type="string"
| length="36"/>
| <property
| name="data"
| column="NODE_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.VersionProp" table="jbp_cms_version_prop" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="propId"
| column="PROP_ID"
| type="string"
| length="255"/>
| <property
| name="data"
| column="PROP_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.VersionRefs" table="jbp_cms_version_refs" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="refId"
| column="NODE_ID"
| type="string"
| length="36"/>
| <property
| name="data"
| column="REFS_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.WSPBinVal" table="jbp_cms_wsp_binval" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="id"
| column="BINVAL_ID"
| type="string"
| length="255"/>
| <property
| name="data"
| column="BINVAL_DATA"
| type="blob"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.WSPNode" table="jbp_cms_wsp_node" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="nodeId"
| column="NODE_ID"
| type="string"
| length="36"/>
| <property
| name="data"
| column="NODE_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.WSPProp" table="jbp_cms_wsp_prop" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="propId"
| column="PROP_ID"
| type="string"
| length="255"/>
| <property
| name="data"
| column="PROP_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.state.WSPRefs" table="jbp_cms_wsp_refs" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="refId"
| column="NODE_ID"
| type="string"
| length="36"/>
| <property
| name="data"
| column="REFS_DATA"
| type="binary"
| length="100000000"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.CMSEntry" table="jbp_cms_cmsentry" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="name"
| column="FSENTRY_NAME"
| type="string"
| length="255"
| not-null="false"/>
| <property name="path"
| column="FSENTRY_PATH"
| type="string"
| not-null="true"
| length="245"/>
| <property name="data"
| column="FSENTRY_DATA"
| type="blob"
| length="100000000"
| not-null="false"/>
| <property name="lastmod"
| column="FSENTRY_LASTMOD"
| type="long"
| not-null="true"/>
| <property name="length"
| column="FSENTRY_LENGTH"
| type="long"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.RepositoryEntry" table="jbp_cms_repositoryentry" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="name"
| column="FSENTRY_NAME"
| type="string"
| length="255"
| not-null="false"/>
| <property name="path"
| column="FSENTRY_PATH"
| type="string"
| not-null="true"
| length="245"/>
| <property name="data"
| column="FSENTRY_DATA"
| type="blob"
| length="100000000"
| not-null="false"/>
| <property name="lastmod"
| column="FSENTRY_LASTMOD"
| type="long"
| not-null="true"/>
| <property name="length"
| column="FSENTRY_LENGTH"
| type="long"
| not-null="true"/>
| </class>
| <class name="org.jboss.portal.cms.hibernate.VersionEntry" table="jbp_cms_versionentry" lazy="true">
| <id
| name="key"
| column="PK"
| type="java.lang.Integer">
| <generator class="native"/>
| </id>
| <property
| name="name"
| column="FSENTRY_NAME"
| type="string"
| length="255"
| not-null="false"/>
| <property name="path"
| column="FSENTRY_PATH"
| type="string"
| not-null="true"
| length="245"/>
| <property name="data"
| column="FSENTRY_DATA"
| type="blob"
| length="100000000"
| not-null="false"/>
| <property name="lastmod"
| column="FSENTRY_LASTMOD"
| type="long"
| not-null="true"/>
| <property name="length"
| column="FSENTRY_LENGTH"
| type="long"
| not-null="true"/>
| </class>
|
| <!-- mapping to persist CMS Fine Grained Security related objects -->
| <class name="org.jboss.portal.cms.security.PermRoleAssoc" table="jbp_cms_perm_role">
| <cache usage="read-write"/>
| <id
| name="id"
| column="ID"
| type="java.lang.Long">
| <generator class="native"/>
| </id>
| <property
| name="roleId"
| column="ROLE_ID"
| type="string"
| not-null="true"
| />
| </class>
| <class name="org.jboss.portal.cms.security.PermUserAssoc" table="jbp_cms_perm_user">
| <cache usage="read-write"/>
| <id
| name="id"
| column="ID"
| type="java.lang.Long">
| <generator class="native"/>
| </id>
| <property
| name="userId"
| column="USER_ID"
| type="string"
| not-null="true"
| />
| </class>
| <class name="org.jboss.portal.cms.security.Criteria" table="jbp_cms_perm_criteria">
| <cache usage="read-write"/>
| <id
| name="id"
| column="ID"
| type="java.lang.Long">
| <generator class="native"/>
| </id>
| <property
| name="name"
| column="NAME"
| type="string"
| not-null="true"
| />
| <property
| name="value"
| column="VALUE"
| type="string"
| not-null="true"
| />
| </class>
| <class name="org.jboss.portal.cms.security.Permission" table="jbp_cms_perm">
| <cache usage="read-write"/>
| <id
| name="id"
| column="ID"
| type="java.lang.Long">
| <generator class="native"/>
| </id>
| <!-- one-to-many association with the criteria object -->
| <set name="criteria" lazy="false" table="jbp_cms_perm_criteria" cascade="all-delete-orphan">
| <cache usage="read-write"/>
| <key column="CMS_PERM_ID"/>
| <one-to-many class="org.jboss.portal.cms.security.Criteria"/>
| </set>
| <!-- many-to-many association with the role object -->
| <set name="roleAssoc" lazy="false" cascade="all-delete-orphan">
| <cache usage="read-write"/>
| <key column="CMS_PERM_ID"/>
| <one-to-many class="org.jboss.portal.cms.security.PermRoleAssoc"/>
| </set>
| <!-- many-to-many association with the user object -->
| <set name="userAssoc" lazy="false" cascade="all-delete-orphan">
| <cache usage="read-write"/>
| <key column="CMS_PERM_ID"/>
| <one-to-many class="org.jboss.portal.cms.security.PermUserAssoc"/>
| </set>
| <property
| name="service"
| column="NAME"
| type="string"
| not-null="true"
| />
| <property
| name="action"
| column="ACTION"
| type="string"
| not-null="true"
| />
| <property
| name="negated"
| column="NEGATED"
| type="boolean"
| not-null="true"
| />
| </class>
| </hibernate-mapping>
|
This will take care of your blob caching issue.
Thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4042597#4042597
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4042597
More information about the jboss-user
mailing list