[JBoss Portal] - Is the portal database case sensitive?
by esmith1
JBoss AS 4.2.2; Portal 2.6.4; jtds driver; Microsoft SQL server 2005
When I create a portal database with a case sensitive collation, then let the portal create the tables on the first startup, I notice that some table names are created in uppercase (JBP_PAGE), some in lowercase (jbp_cms_perm). Also some tables have lowercase field names (jbp_users.jbp_uid) and some have uppercase field names (jbp_cms_perm.ID).
When I look at the HyperSonic table list after a fresh startup, all tablenames and fields seem to be uppercase.
Meanwhile when I login to my case sensitive database an exception occurs because a portal query is using the wrong case (p.id should be p.ID):
SELECT p.* from jbp_cms_perm p,jbp_cms_perm_role r,jbp_role_membership m,jbp_roles roles,jbp_users users WHERE p.id=r.cms_perm_id AND r.role_id=roles.jbp_name AND m.jbp_rid=roles.jbp_rid AND m.jbp_uid=users.jbp_uid AND users.jbp_uname=?
|
| java.lang.RuntimeException: org.hibernate.exception.SQLGrammarException: could not execute query
| at org.jboss.portal.cms.security.AuthorizationProviderImpl.findPermissionsByUser(AuthorizationProviderImpl.java:464)
| at org.jboss.portal.cms.security.AuthorizationProviderImpl.getSecurityBindings(AuthorizationProviderImpl.java:179)
| at org.jboss.portal.cms.impl.jcr.command.ACLEnforcer.getPermissions(ACLEnforcer.java:581)
So I wondered if portal databases are supposed to be case INsensitive collation and I set one up that way but then I've hit other problems, including this one with a case insensitive exception: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=135281
and possibly this transaction problem:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=134329
So I am wondering: (1) is the portal database supposed to have case sensitive table and field names? if yes, then (2) do you agree there is a bug in the creation of tables and/or portal query composition under Microsoft sql server?
I will add it would be nice if the portal tables followed a standard, for instance all uppercase or all lowercase table and field names -- regardless of the case sensitive question.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150905#4150905
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150905
18 years, 2 months
[Messaging, JMS & JBossMQ] - Re: JMS error with SQLServer
by marney
I am seeing this issue on a production server running JBoss 4.2.2 (again, MS SQL Server database). I looked in JBoss JIRA and did not see anything addressing this issue. Portion of our app's trace:
anonymous wrote :
| 14 May 2008 14:58:08,352 DEBUG [TMMessagingProxy http-0.0.0.0-8082-1] Sending an asynch JMS message: LogStoreHandler.createAuditEntry
| 14 May 2008 14:58:08,352 INFO [JNDIObjectFactory http-0.0.0.0-8082-1] Looking up queue/AuditQueue
| 14 May 2008 14:58:08,352 INFO [JNDIObjectFactory http-0.0.0.0-8082-1] About to add the following object to the JNDI reference cache: queue/AuditQueue
| 14 May 2008 14:58:08,352 ERROR [TMMessagingProxy http-0.0.0.0-8082-1] Error sending aynch message
| org.jboss.mq.SpyJMSException: Could not store message: 3606 msg=0 hard NOT_STORED NON_PERSISTENT queue=TOPIC.ecJobTopic.ID:2.-2147483648 priority=4 lateClone=false hashCode=4669730; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert duplicate key row in object 'dbo.JMS_MESSAGES' with unique index 'JMS_MESSAGES_IDX'.)
| at org.jboss.mq.pm.jdbc2.PersistenceManager.saveToStorage(PersistenceManager.java:1638)
| at org.jboss.mq.server.MessageCache.saveToStorage(MessageCache.java:420)
| at org.jboss.mq.server.MessageReference.makeSoft(MessageReference.java:312)
| at org.jboss.mq.server.MessageCache.validateSoftReferenceDepth(MessageCache.java:367)
| at org.jboss.mq.server.MessageCache.addInternal(MessageCache.java:158)
| at org.jboss.mq.server.MessageCache.add(MessageCache.java:128)
| at org.jboss.mq.server.JMSQueue.addMessage(JMSQueue.java:179)
| at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:415)
| at org.jboss.mq.server.JMSDestinationManager.addMessage(JMSDestinationManager.java:399)
| at org.jboss.mq.server.JMSServerInterceptorSupport.addMessage(JMSServerInterceptorSupport.java:106)
| at org.jboss.mq.security.ServerSecurityInterceptor.addMessage(ServerSecurityInterceptor.java:168)
| at org.jboss.mq.server.TracingInterceptor.addMessage(TracingInterceptor.java:226)
| at org.jboss.mq.server.JMSServerInvoker.addMessage(JMSServerInvoker.java:112)
| at org.jboss.mq.il.jvm.JVMServerIL.addMessage(JVMServerIL.java:101)
| at org.jboss.mq.Connection.sendToServer(Connection.java:920)
| at org.jboss.mq.SpySession.sendMessage(SpySession.java:924)
| at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:272)
| at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:219)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150886#4150886
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150886
18 years, 2 months
[JBoss jBPM] - Re: Optional actor-id
by kukeltje
correct, you have to pass parameters like you do with normal actionhandlers, so something like
| <assignment class="jnet.faces.PersonAssignmentHandler">
| <pooled-actors>#{accountantCompany.entityId}</pooled-actors>
| <actor-id>#{personRelations.getPersonManagerActorId(accountantCompany)}</actor-id>
| </assignment>
|
Then have the properties/setters/getters called pooled-actors and actor-id as strings, and then in the assign method, parse these strings as EL (see jbpm source for some examples) and you're there.
Nice btw that you experimented yourself. Often people just reply 'how do I do that', which makes me less interested in replying. This however does the opposite. Neat...
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150884#4150884
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150884
18 years, 2 months