cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Markus Reich <markus.re...@markusreich.at>
Subject Re: Cayenne 3.0.2 - Global exception - frequent issue in my application
Date Tue, 08 Apr 2014 11:24:48 GMT
Hi,

I think this is a problem with the JDBC driver, you should use
autoconnect, I think there's a parameter in the jdbc connection string
for mySQL, I could be that this is deprecated maybe you configure a
validation query, just google for this term,

br
Meex

2014-04-08 13:19 GMT+02:00 Sampath Uppula <SU0064323@techmahindra.com>:
> Hi Andrus,
> Below is the Stacktrace for Global exception.
> This is very common issue in my application, please suggest a way to resolve this issue.
>
> -------------------------------------------------------------------------------------------------------
>
> a:175)
>         at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTa
> gSupport.java:42)
>         at org.apache.jsp.eConIndex_jsp._jspx_meth_s_005faction_005f0(eConIndex_
> jsp.java:94)
>         at org.apache.jsp.eConIndex_jsp._jspService(eConIndex_jsp.java:66)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:432)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 90)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:305)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
> .doFilter(StrutsPrepareAndExecuteFilter.java:88)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebAppli
> cationContextFilter.java:93)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrid
> eFilter.java:125)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at com.techm.econvergence.encodingFilter.CharacterEncodingFilter.doFilte
> r(CharacterEncodingFilter.java:23)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:222)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:123)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
> torBase.java:472)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:171)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:99)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
> 936)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:118)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:407)
>         at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
> 11Processor.java:1004)
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
> AbstractProtocol.java:589)
>         at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin
> t.java:1822)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
> )
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicatio
> ns link failure
>
> The last packet successfully received from the server was 222,640,374 millisecon
> ds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
> rce)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
>         at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
> 118)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3055)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2941)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
>         at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4956)
>
>         at org.apache.cayenne.conn.PooledConnectionImpl.getConnection(PooledConn
> ectionImpl.java:128)
>         at org.apache.cayenne.conn.PoolManager.uncheckConnection(PoolManager.jav
> a:369)
>         at org.apache.cayenne.conn.PoolManager.getConnection(PoolManager.java:35
> 3)
>         at org.apache.cayenne.conn.PoolManager.getConnection(PoolManager.java:33
> 0)
>         at org.apache.cayenne.access.DataNode$TransactionDataSource.getConnectio
> n(DataNode.java:364)
>         at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:248)
>         ... 70 more
> Caused by: java.net.SocketException: Software caused connection abort: recv fail
> ed
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(Unknown Source)
>         at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.ja
> va:114)
>         at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNe
> cessary(ReadAheadInputStream.java:161)
>         at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.ja
> va:189)
>         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2499)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2952)
>         ... 82 more
> org.apache.cayenne.CayenneRuntimeException: [v.3.0.2 Jun 11 2011 09:52:20] Globa
> l exception.
>         at org.apache.cayenne.access.DataDomainQueryAction.nextGlobalException(D
> ataDomainQueryAction.java:553)
>         at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:258)
>         at org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQu
> eryAction.java:422)
>         at org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomain
> QueryAction.java:69)
>         at org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomai
> nQueryAction.java:395)
>         at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java
> :850)
>         at org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction
> (DataDomainQueryAction.java:392)
>         at org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQue
> ryAction.java:121)
>         at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:743)
>         at org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectConte
> xtQueryAction.java:334)
>         at org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(Obj
> ectContextQueryAction.java:104)
>         at org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContex
> tQueryAction.java:91)
>         at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1293)
>         at org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1
> 282)
>         at com.techm.econvergence.util.RequestDelegate.getFilterVaulesListForQue
> ry(RequestDelegate.java:2737)
>         at com.techm.econvergence.dashboard.util.DashboardRequestDelegate.getCus
> tomerDetail(DashboardRequestDelegate.java:2232)
>         at com.techm.econvergence.action.MaineConvergenceAction.<init>(MaineConv
> ergenceAction.java:45)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
> rce)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at java.lang.Class.newInstance0(Unknown Source)
>         at java.lang.Class.newInstance(Unknown Source)
>         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:13
> 1)
>         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:16
> 2)
>         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:15
> 1)
>         at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:
> 121)
>         at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultA
> ctionInvocation.java:300)
>         at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInv
> ocation.java:400)
>         at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy
> .java:194)
>         at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.j
> ava:63)
>         at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(St
> rutsActionProxyFactory.java:39)
>         at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(D
> efaultActionProxyFactory.java:58)
>         at org.apache.struts2.components.ActionComponent.executeAction(ActionCom
> ponent.java:289)
>         at org.apache.struts2.components.ActionComponent.end(ActionComponent.jav
> a:175)
>         at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTa
> gSupport.java:42)
>         at org.apache.jsp.eConIndex_jsp._jspx_meth_s_005faction_005f0(eConIndex_
> jsp.java:94)
>         at org.apache.jsp.eConIndex_jsp._jspService(eConIndex_jsp.java:66)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:432)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 90)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:305)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
> .doFilter(StrutsPrepareAndExecuteFilter.java:88)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.cayenne.conf.WebApplicationContextFilter.doFilter(WebAppli
> cationContextFilter.java:93)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrid
> eFilter.java:125)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at com.techm.econvergence.encodingFilter.CharacterEncodingFilter.doFilte
> r(CharacterEncodingFilter.java:23)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:243)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:210)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:222)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:123)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
> torBase.java:472)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:171)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:99)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
> 936)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:118)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:407)
>         at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
> 11Processor.java:1004)
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
> AbstractProtocol.java:589)
>         at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin
> t.java:1822)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
> )
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicatio
> ns link failure
>
> The last packet successfully received from the server was 108,030,871 millisecon
> ds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
> rce)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
>         at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
> 118)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3055)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2941)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
>         at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4956)
>
>         at org.apache.cayenne.conn.PooledConnectionImpl.getConnection(PooledConn
> ectionImpl.java:128)
>         at org.apache.cayenne.conn.PoolManager.uncheckConnection(PoolManager.jav
> a:369)
>         at org.apache.cayenne.conn.PoolManager.getConnection(PoolManager.java:35
> 3)
>         at org.apache.cayenne.conn.PoolManager.getConnection(PoolManager.java:33
> 0)
>         at org.apache.cayenne.access.DataNode$TransactionDataSource.getConnectio
> n(DataNode.java:364)
>         at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:248)
>         ... 70 more
> Caused by: java.net.SocketException: Software caused connection abort: recv fail
> ed
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(Unknown Source)
>         at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.ja
> va:114)
>         at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNe
> cessary(ReadAheadInputStream.java:161)
>         at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.ja
> va:189)
>         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2499)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2952)
>         ... 82 more
>
> -------------------------------------------------------------------------------------------------------
>
>
> Thanks ,
> Sampath Uppula
> ________________________________________
> From: Andrus Adamchik [andrus@objectstyle.org]
> Sent: Monday, March 10, 2014 4:59 PM
> To: user@cayenne.apache.org
> Subject: Re: Cayenne 3.0.2 - Global exception - frequent issue in my application
>
> A DataContext exists without a live database connection. Only when you do something with
it (like run a query, or commit some objects) it opens a connection, and then releases it
immediately when the operation is done.
>
> Andrus
>
> On Mar 10, 2014, at 2:19 PM, Sampath Uppula <SU0064323@TechMahindra.com> wrote:
>
>> Hi,
>> I am really wondering even after getting the DataContext object why I am facing the
issue to connect the database.
>> Object Context :
>>>> org.apache.cayenne.access.DataContext@50ab9eed
>>
>> The reason to disable the stack trace in live is to reduce the log size and improve
the performance.
>>
>> Thanks ,
>> Sampath Uppula
>>
>> -----Original Message-----
>> From: Andrus Adamchik [mailto:andrus@objectstyle.org]
>> Sent: 10 March 2014 16:32
>> To: user@cayenne.apache.org
>> Subject: Re: Cayenne 3.0.2 - Global exception - frequent issue in my application
>>
>> Then it is impossible to tell what really happened. This can be something simple
like a JDBC connection error, or anything else really. But we don't know.
>>
>> Could you turn on logging of stack traces in a live environment? Why is it disabled?
>>
>> Andrus
>>
>>
>> On Mar 10, 2014, at 1:58 PM, Sampath Uppula <SU0064323@TechMahindra.com> wrote:
>>
>>> Hi Andrus,
>>> Thanks for the quick update.
>>> But I cannot provide the stack trace right now because this issue is occurring
in the live environment.
>>>
>>> I am using the below jars related to Cayenne in the web application which is
deployed on Tomcat 7.
>>> cayenne-client-3.0.2.jar
>>> cayenne-modeler-3.0.2.jar
>>> cayenne-server-3.0.2.jar
>>> cayenne-tools-3.0.2.jar
>>>
>>> Please suggest a way to resolve this issue.
>>>
>>> Thanks,
>>> Sampath Uppula.
>>>
>>> -----Original Message-----
>>> From: Andrus Adamchik [mailto:andrus@objectstyle.org]
>>> Sent: 10 March 2014 16:09
>>> To: user@cayenne.apache.org
>>> Subject: Re: Cayenne 3.0.2 - Global exception - frequent issue in my
>>> application
>>>
>>> Hi there, do you have a full stack trace of the exception? It should reveal lots
of useful details.
>>>
>>> I am also confused with this class present in your logs: org.apache.cayenne.modeler.util.ModelerLogger.
>>>
>>> Andrus
>>>
>>> On Mar 10, 2014, at 1:29 PM, Sampath Uppula <SU0064323@TechMahindra.com>
wrote:
>>>
>>>> Hi,
>>>> I am using Cayenne 3.0.2 with Mysql database.
>>>>
>>>> In my email scheduler, I am using the DataContext object to read the data
from the database.
>>>> I am getting the DataContext properly but when I am executing the below line
I am getting the Global exception.
>>>>
>>>> dashboardfilterCreateObj =
>>>> DataObjectUtils.objectForPK(context,DashboardFilterCreate.class,
>>>> reportId);
>>>>
>>>> Can you please throw some light on it to resolve the issue.
>>>>
>>>> [INFO] [getDataContext],[19],[@@@@@@ DataContext is returned] [INFO]
>>>> [emailDailyReportScheduler],[2777],[Object Context :
>>>> org.apache.cayenne.access.DataContext@50ab9eed]
>>>> [INFO] [emailDailyReportScheduler],[2781],[-- Report ID is : 11]
>>>> [INFO]
>>>> [org.apache.cayenne.modeler.util.ModelerLogger],[info],[78],[--- will
>>>> run 1 query.] [INFO]
>>>> [org.apache.cayenne.modeler.util.ModelerLogger],[info],[83],[***
>>>> error.] [ERROR] [emailDailyReportScheduler],[2843],[Exception
>>>> occurred in emailDailyReportScheduler(). Exception Details : [v.3.0.2
>>>> Jun 11
>>>> 2011 09:52:20] Global exception.]
>>>>
>>>> Thanks,
>>>> Sampath Uppula.
>>>>
>>>> =====================================================================
>>>> = ======================================================
>>>> Disclaimer:  This message and the information contained herein is proprietary
and confidential and subject to the Tech Mahindra policy statement, you may review the policy
at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html
internally within TechMahindra.
>>>> =====================================================================
>>>> = ======================================================
>>>>
>>>>
>>>>
>>>> =====================================================================
>>>> = ======================================================
>>>> Disclaimer:  This message and the information contained herein is proprietary
and confidential and subject to the Tech Mahindra policy statement, you may review the policy
at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html
internally within TechMahindra.
>>>> =====================================================================
>>>> = ======================================================
>>>>
>>>
>>>
>>>
>>> ======================================================================
>>> ======================================================Disclaimer:
>>> This message and the information contained herein is proprietary and
>>> confidential and subject to the Tech Mahindra policy statement, you
>>> may review the policy at http://www.techmahindra.com/Disclaimer.html
>>> externally http://tim.techmahindra.com/tim/disclaimer.html internally
>>> within
>>> TechMahindra.=========================================================
>>> ===================================================================
>>>
>>>
>>> ======================================================================
>>> ======================================================
>>> Disclaimer:  This message and the information contained herein is proprietary
and confidential and subject to the Tech Mahindra policy statement, you may review the policy
at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html
internally within TechMahindra.
>>> ======================================================================
>>> ======================================================
>>>
>>>
>>
>>
>>
>> ============================================================================================================================
>> Disclaimer:  This message and the information contained herein is proprietary and
confidential and subject to the Tech Mahindra policy statement, you may review the policy
at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html
internally within TechMahindra.
>> ============================================================================================================================
>>
>>
>>
>> ============================================================================================================================
>> Disclaimer:  This message and the information contained herein is proprietary and
confidential and subject to the Tech Mahindra policy statement, you may review the policy
at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html
internally within TechMahindra.
>> ============================================================================================================================
>>
>
>
>
> ============================================================================================================================
> Disclaimer:  This message and the information contained herein is proprietary and confidential
and subject to the Tech Mahindra policy statement, you may review the policy at http://www.techmahindra.com/Disclaimer.html
externally http://tim.techmahindra.com/tim/disclaimer.html internally within TechMahindra.
> ============================================================================================================================
>
>
> ============================================================================================================================
>
> Disclaimer:  This message and the information contained herein is proprietary and confidential
and subject to the Tech Mahindra policy statement, you may review the policy at http://www.techmahindra.com/Disclaimer.html
externally http://tim.techmahindra.com/tim/disclaimer.html internally within TechMahindra.
>
> ============================================================================================================================
>
>



-- 
Markus Reich
Moosbach 28/2
6392 St. Jakob i.H.
www.markusreich.at / www.meeximum.at
markus.reich@markusreich.at

Mime
View raw message