| 
							
					| Beginner |  
					|  |  Joined: Mon May 24, 2004 7:39 pm
 Posts: 37
 Location: Charlotte
 | 
				
					| I must be missing something very stupid but I'm making a few session calls and then closing the session at the end.  After making the first session call, the session seems to be automatically closing and I don't understand why.  Can anybody assist with me with this?  Thank you very much.
Hibernate version: 2.1.6 
Code between sessionFactory.openSession() and session.close(): Session session = null;
 Transaction transaction = null;
 try {
 session = MessageBoxDAO.getInstance().createNewSession();
 MimeMessage message = mail.getMessage();
 String name = getName(message.getHeader("From")[0]);
 String emailAddress = getEmail(message.getHeader("From")[0]);
 String subject = message.getHeader("Subject")[0];
 String bodyText = IOUtils.toString(message.getInputStream());
 String boxNumber = getBoxNumber(emailAddress);
 System.out.println(session.isOpen());
 MessageBox box = (MessageBox) session.load(MessageBox.class, new Long(boxNumber));
 System.out.println(session.isOpen());
 if (null != box) {
 // THE LINE BELOW IS WHERE THE EXCEPTION OCCURS
 transaction = session.beginTransaction();
 EmailMessage emailMessage = new EmailMessage();
 emailMessage.setBody(bodyText);
 emailMessage.setCreatedDate(new Date());
 emailMessage.setFromAddress(emailAddress);
 emailMessage.setMessageBox(box);
 emailMessage.setSubject(subject);
 session.save(emailMessage);
 box.setLastMessageCreatedDate(new Date());
 session.update(box);
 transaction.commit();
 }
 }
 finally {
 if (null != transaction) transaction.rollback();
 if (null != session) session.close();
 }
 Full stack trace of any exception that occurs:
Name and version of the database you are using: MySQL 4.0.20
Debug level Hibernate log excerpt:
 17255 [Spool Thread #0] INFO com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener  - JavaGroups clustering support started s
 uccessfully
 17255 [Spool Thread #0] DEBUG com.opensymphony.oscache.base.algorithm.AbstractConcurrentReadCache  - get called (key=1.com.myadbox.bo.ServiceLevel)
 17255 [Spool Thread #0] DEBUG com.opensymphony.oscache.base.algorithm.AbstractConcurrentReadCache  - persistRetrieve called (key=1.com.myadbox.bo.Serv
 iceLevel)
 17315 [Spool Thread #0] DEBUG com.opensymphony.oscache.base.algorithm.AbstractConcurrentReadCache  - persistStore called (key=1.com.myadbox.bo.Service
 Level)
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - done materializing entity [com.myadbox.bo.ServiceLevel#1]
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - resolving associations for [com.myadbox.bo.MessageBox#1]
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - loading [com.myadbox.bo.ServiceLevel#1]
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - attempting to resolve [com.myadbox.bo.ServiceLevel#1]
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - resolved object in session cache [com.myadbox.bo.ServiceLevel#1]
 17325 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - calling onLoad()
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - flushing session
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Flushing entities and processing referenced collections
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Processing unreferenced collections
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Scheduling collection removes/(re)creates/updates
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
 17345 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.impl.Printer  - listing entities:
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.impl.Printer  - com.myadbox.bo.ServiceLevel{Price=0.62000, Description=A 30-day AdBox which allows 120
 minutes of incoming toll-free calls, a daily notification with a summary of new messages, 10 MB of message storage, along with value-added services",
 TermLengthDays=30, Name=Basic Service, MaxStorageSpace=10240, Id=1, MaxMinutes=120}
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.impl.Printer  - com.myadbox.bo.MessageBox{Purpose=null, Status=A, RoutingNumber=null, SalesAgent=null,
 PaymentPin=9832, MaxStorageSpace=10240, NotificationPhone=null, FormPrice=null, CreatedDate=2004-09-14 20:24:12, Greeting=null, BoxNumber=1, AccountNu
 mber=null, Name=, MaxMinutes=120, MessageBoxGroup=null, ForwardingPhone=null, StartDate=14 September 2004, NotificationEmail=null, NotificationType=nu
 ll, WebPageContents=null, ServiceLevel=ServiceLevel#1, LastMessageCreatedDate=2004-09-14 20:26:56, ExpirationDate=14 October 2004, Price=null, AcceptP
 ayments=false, Reseller=null, BankName=null, Id=1}
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - Dont need to execute flush
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.impl.BatcherImpl  - about to open: 0 open PreparedStatements, 0 open ResultSets
 17355 [Spool Thread #0] DEBUG net.sf.hibernate.SQL  - select this.message_box_owner_id as user_id9_, this.message_box_id as message_2_16_9_, this.mess
 age_box_group_id as message_3_16_9_, this_1_.passwd as passwd14_9_, this_1_.status as status14_9_, this_1_.last_name as last_name14_9_, this_1_.email_
 address as email_ad5_14_9_, this_1_.phone_number as phone_nu6_14_9_, this_1_.first_name as first_name14_9_, messagebox1_.message_box_id as message_1_0
 _, messagebox1_.notification_phone as notifica2_0_, messagebox1_.payment_pin as payment_3_0_, messagebox1_.web_page_contents as web_page4_0_, messageb
 ox1_.bank_name as bank_name0_, messagebox1_.routing_nbr as routing_6_0_, messagebox1_.forwarding_phone as forwardi7_0_, messagebox1_.price as price0_,
 messagebox1_.notification_email as notifica9_0_, messagebox1_.name as name0_, messagebox1_.notification_type as notific11_0_, messagebox1_.form_price
 as form_price0_, messagebox1_.status as status0_, messagebox1_.account_nbr as account14_0_, messagebox1_.max_minutes as max_min15_0_, messagebox1_.ma
 x_storage_space as max_sto16_0_, messagebox1_.box_number as box_number0_, messagebox1_.created_date as created18_0_, messagebox1_.start_date as start_
 date0_, messagebox1_.expiration_date as expirat20_0_, messagebox1_.accept_payments as accept_21_0_, messagebox1_.last_message_created_date as last_me2
 2_0_, messagebox1_.service_level_id as service23_0_, messagebox1_.message_box_group_id as message24_0_, messagebox1_.greeting_id as greetin25_0_, mess
 agebox1_.purpose_id as purpose_id0_, messagebox1_.reseller_id as reselle27_0_, messagebox1_.sales_agent_id as sales_a28_0_, servicelev2_.service_level
 _id as service_1_1_, servicelev2_.name as name1_, servicelev2_.max_storage_space as max_stor3_1_, servicelev2_.max_minutes as max_minu4_1_, servicelev
 2_.price as price1_, servicelev2_.term_length_days as term_len6_1_, servicelev2_.description as descript7_1_, messagebox3_.message_box_group_id as mes
 sage_1_2_, voicemessa4_.voice_message_id as message_id3_, voicemessa4_.message_url as message_2_3_3_, voicemessa4_.message_length as message_3_3_3_, v
 oicemessa4_.from_phone_number as from_pho4_3_3_, voicemessa4__1_.status as status2_3_, voicemessa4__1_.created_date as created_3_2_3_, voicemessa4__1_
 .storage_size as storage_4_2_3_, voicemessa4__1_.message_box_id as message_5_2_3_, messagebox5_.message_box_purpose_id as message_1_4_, messagebox5_.n
 ame as name4_, messagebox5_.title as title4_, messagebox5_.form_name as form_name4_, messagebox5_.form_name_plural as form_nam5_4_, messagebox5_.form_
 title as form_title4_, messagebox5_.form_title_plural as form_tit7_4_, messagebox5_.form_template as form_tem8_4_, reseller6_.reseller_id as reseller1
 _5_, reseller6_.status as status5_, reseller6_.name as name5_, reseller6_.client_contact_id as client_c4_5_, reseller6_.address_line_1 as address_5_5_
 , reseller6_.address_line_2 as address_6_5_, reseller6_.address_city as address_7_5_, reseller6_.address_state as address_8_5_, reseller6_.address_zip
 as address_9_5_, clientcont7_.client_contact_id as user_id6_, clientcont7__1_.passwd as passwd14_6_, clientcont7__1_.status as status14_6_, clientcon
 t7__1_.last_name as last_name14_6_, clientcont7__1_.email_address as email_ad5_14_6_, clientcont7__1_.phone_number as phone_nu6_14_6_, clientcont7__1_
 .first_name as first_name14_6_, salesagent8_.sales_agent_id as user_id7_, salesagent8__1_.passwd as passwd14_7_, salesagent8__1_.status as status14_7_
 , salesagent8__1_.last_name as last_name14_7_, salesagent8__1_.email_address as email_ad5_14_7_, salesagent8__1_.phone_number as phone_nu6_14_7_, sale
 sagent8__1_.first_name as first_name14_7_, messagebox9_.message_box_group_id as message_1_8_ from message_box_owner this inner join df_user this_1_ on
 this.message_box_owner_id=this_1_.user_id left outer join message_box messagebox1_ on this.message_box_id=messagebox1_.message_box_id left outer join
 service_level servicelev2_ on messagebox1_.service_level_id=servicelev2_.service_level_id left outer join message_box_group messagebox3_ on messagebo
 x1_.message_box_group_id=messagebox3_.message_box_group_id left outer join voice_message voicemessa4_ on messagebox1_.greeting_id=voicemessa4_.voice_m
 essage_id left outer join message voicemessa4__1_ on voicemessa4_.voice_message_id=voicemessa4__1_.message_id left outer join message_box_purpose mess
 agebox5_ on messagebox1_.purpose_id=messagebox5_.message_box_purpose_id left outer join reseller reseller6_ on messagebox1_.reseller_id=reseller6_.res
 eller_id left outer join client_contact clientcont7_ on reseller6_.client_contact_id=clientcont7_.client_contact_id left outer join df_user clientcont
 7__1_ on clientcont7_.client_contact_id=clientcont7__1_.user_id left outer join sales_agent salesagent8_ on messagebox1_.sales_agent_id=salesagent8_.s
 ales_agent_id left outer join df_user salesagent8__1_ on salesagent8_.sales_agent_id=salesagent8__1_.user_id left outer join message_box_group message
 box9_ on this.message_box_group_id=messagebox9_.message_box_group_id where this.message_box_id=?
 17365 [Spool Thread #0] DEBUG net.sf.hibernate.impl.BatcherImpl  - preparing statement
 17365 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - binding '1' to parameter: 1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - processing result set
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning '1' as column: message_1_0_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning '1' as column: service_1_1_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: message_1_2_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: message_id3_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: message_1_4_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: reseller1_5_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: user_id6_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: user_id7_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: message_1_8_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning '1' as column: user_id9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - result row: 1, 1, null, null, null, null, null, null, null, 1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - Initializing object from ResultSet: 1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - Hydrating entity: com.myadbox.bo.MessageBoxOwner#1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning '1' as column: message_2_16_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.LongType  - returning null as column: message_3_16_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.StringType  - returning 'GvhcgkNeNX0=' as column: passwd14_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.StringType  - returning 'Hudson' as column: last_name14_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.StringType  - returning 'j@j.com' as column: email_ad5_14_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.StringType  - returning '5345235234' as column: phone_nu6_14_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.type.StringType  - returning 'Joe' as column: first_name14_9_
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - done processing result set (1 rows)
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.BatcherImpl  - done closing: 0 open PreparedStatements, 0 open ResultSets
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.BatcherImpl  - closing statement
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.loader.Loader  - total objects hydrated: 1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - resolving associations for [com.myadbox.bo.MessageBoxOwner#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - loading [com.myadbox.bo.MessageBox#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - attempting to resolve [com.myadbox.bo.MessageBox#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - resolved object in session cache [com.myadbox.bo.MessageBox#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - done materializing entity [com.myadbox.bo.MessageBoxOwner#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - closing session
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - disconnecting session
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.connection.DriverManagerConnectionProvider  - returning connection to pool, pool size: 1
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - transaction completion
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - done materializing entity [com.myadbox.bo.MessageBox#1]
 17375 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - initializing non-lazy collections
 false
 17385 [Spool Thread #0] DEBUG net.sf.hibernate.transaction.JDBCTransaction  - begin
 17385 [Spool Thread #0] DEBUG net.sf.hibernate.impl.SessionImpl  - closing session
 net.sf.hibernate.HibernateException: Session is closed
 at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3292)
 at net.sf.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:40)
 at net.sf.hibernate.transaction.JDBCTransactionFactory.beginTransaction(JDBCTransactionFactory.java:19)
 at net.sf.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:2231)
 at com.myadbox.mail.parser.MailRouter.service(MailRouter.java:58)
 at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:407)
 at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:451)
 at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:360)
 at java.lang.Thread.run(Thread.java:534)
 exception! javax.mail.MessagingException: Session is closed
 
 
 
 |  |