struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sebastian Götz <s.go...@inform-technology.de>
Subject Re: Java 11 support
Date Fri, 18 Jan 2019 08:09:13 GMT
I took a short look. In Travis I can see that you run the build under 
OpenJDK7.
We compile our sources with JDK 11 and source and target version 11 
resulting in class files with class version 55.
Thus ASM cannot inspect our class during startup because of the usage of 
the ASM5 API (restricts class version greater than that of Java 8).
This is a runtime exception during container startup, not a compiler 
problem.

Sorry if I cannot describe the problem better. I am not a native speaker ;-)

Am 18.01.2019 um 08:50 schrieb Lukasz Lenart:
> Hm... strange but our builds are passing on JDK 11
> https://builds.apache.org/view/S-Z/view/Struts/job/Struts-master-JDK11/
> also on Travis https://travis-ci.org/apache/struts
>
> pt., 18 sty 2019 o 08:46 Sebastian Götz <s.goetz@inform-technology.de>
> napisał(a):
>
>> Okay.
>>
>> I have taken a look at the struts-2-5-x branch in github. There is a
>> global property in the struts-parentof that defines the version for ASM:
>>
>> <asm.version>5.2</asm.version>
>>
>> The struts-masterpom of the current github *master branch* has:
>>
>> <asm.version>7.0</asm.version>
>>
>> But when I look into DefaultClassFinder$InfoBuildingVisitorclass (line
>> 461) of the *master branch* there is still ASM 5 used:
>>
>> public class InfoBuildingVisitor extends ClassVisitor {
>>           private Info info;
>>           private ClassFinder classFinder;
>>
>>           public InfoBuildingVisitor(ClassFinder classFinder) {
>> *            super(Opcodes.ASM5);*
>>               this.classFinder = classFinder;
>>           }
>>
>> So first step would be to change this coupling to ASM's version 7 API.
>> And if possible back-porting this to the struts-2-5-x branch.
>> Right?
>>
>> As I am not familiar with ASM at all, I cannot even estimate whether
>> this is that has to be done or not.
>> But I offer any support I can give to have Java 11 ready as soon as
>> possible.
>>
>> Kind regards
>>
>> Sebastain
>>
>> Am 17.01.2019 um 14:45 schrieb Lukasz Lenart:
>>> Hm... I thought we switched to ASM 7.0 in struts-2-5-x branch - at least
>> in
>>> the master branch we have it which means Struts 2.6 supports JDK 11
>>>
>>> czw., 17 sty 2019 o 14:11 Sebastian Götz <s.goetz@inform-technology.de>
>>> napisał(a):
>>>
>>>> Hi folks,
>>>>
>>>> it appears that there is some work left in the convention plugin. As I
>>>> can see from my IVY resolve process this plugin drags in asm 5.2. From
>>>> its sources it looks like it supports class version up to 1.8 (class
>>>> version 52).
>>>> As we compile with JDK 11 already (class version 55) we get a lot of
>>>> these exceptions:
>>>>
>>>>     java.lang.IllegalArgumentException
>>>>        at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>>>>        at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>>>>        at org.objectweb.asm.ClassReader.<init>(Unknown Source)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:461)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
>>>>        at
>>>>
>>>>
>> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
>>>>        at
>>>>
>>>>
>> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
>>>>        at
>>>>
>> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:957)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
>>>>        at
>> org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
>>>>        at
>>>>
>> eu.inform.servlet.context.URIExcludeFilter.init(URIExcludeFilter.java:37)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4491)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422)
>>>>        at
>> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>        at
>>>>
>>>>
>> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>>>>        at
>>>>
>>>>
>> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
>>>>        at
>>>>
>> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422)
>>>>        at
>> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>        at
>>>>
>>>>
>> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>>>>        at
>>>>
>>>>
>> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at org.apache.catalina.startup.Catalina.start(Catalina.java:695)
>>>>        at
>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>        at
>>>>
>>>>
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>        at
>>>>
>>>>
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>>>>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
>>>>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
>>>>
>>>> I tried to exclude asm 5.2 on favor of 7.0 which works from the
>>>> dependency resolving side. But the Struts2 ClassVisitor implementation
>>>> is tied to ASM 5:
>>>>
>>>> public class InfoBuildingVisitor extends ClassVisitor {
>>>>            private Info info;
>>>>            private ClassFinder classFinder;
>>>>
>>>>            public InfoBuildingVisitor(ClassFinder classFinder) {
>>>>                super(Opcodes.ASM5);
>>>>                this.classFinder = classFinder;
>>>>            }
>>>> ...
>>>> }
>>>>
>>>> Therefore this leads to the following problem:
>>>>
>>>> java.lang.UnsupportedOperationException: This feature requires ASM7
>>>>        at
>>>> org.objectweb.asm.ClassVisitor.visitNestMember(ClassVisitor.java:236)
>>>>        at org.objectweb.asm.ClassReader.accept(ClassReader.java:651)
>>>>        at org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
>>>>        at
>>>>
>>>>
>> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:206)
>>>>        at
>>>>
>>>>
>> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
>>>>        at
>>>>
>> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:957)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
>>>>        at
>> org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
>>>>        at
>>>>
>>>>
>> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
>>>>        at
>>>>
>> eu.inform.servlet.context.URIExcludeFilter.init(URIExcludeFilter.java:37)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4491)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422)
>>>>        at
>> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>        at
>>>>
>>>>
>> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>>>>        at
>>>>
>>>>
>> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
>>>>        at
>>>>
>> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422)
>>>>        at
>> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>        at
>>>>
>>>>
>> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
>>>>        at
>>>>
>>>>
>> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at
>>>>
>>>>
>> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
>>>>        at org.apache.catalina.startup.Catalina.start(Catalina.java:695)
>>>>        at
>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>        at
>>>>
>>>>
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>        at
>>>>
>>>>
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>>>>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
>>>>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
>>>>
>>>> Can someone verfiy that and propose a fix?
>>>>
>>>> Kind regards,
>>>>
>>>> Sebastian
>>>>
>>>>
>>>> Am 15.01.2019 um 09:45 schrieb Sebastian Götz:
>>>>> Great to hear that!
>>>>>
>>>>>
>>>>> Am 15.01.2019 um 09:37 schrieb Yasser Zamani:
>>>>>> Hi Sebastian,
>>>>>>
>>>>>> Yes the release will be ready this month hopefully this week already
☺
>>>>>>
>>>>>> Kind Regards.
>>>>>>
>>>>>>
>>>>>> From: Sebastian Götz<s.goetz@inform-technology.de>
>>>>>> Sent: Tuesday, January 15, 2019 10:51 AM
>>>>>> To: Yasser Zamani<yasserzamani@apache.org>
>>>>>> Subject: Re: Java 11 support
>>>>>>
>>>>>> Hi Yasser,
>>>>>>
>>>>>> sure! We are not in a hurry :-) but really looking forward to this
>>>> release. I tried with the 2.5.18 yesterday.
>>>>>> But then I will await the 2.5.20 release with pleasure.
>>>>>>
>>>>>> I know this sort of question sucks but will the release be ready
this
>>>> month already or will it take somewhat longer.
>>>>>> Kind regards,
>>>>>>
>>>>>> Sebastian
>>>>>> Am 14.01.2019 um 19:06 schrieb Yasser Zamani:
>>>>>>
>>>>>> Hi Sebastian,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm pleased to announce it seems we were able to add both java 9
and
>> 11
>>>>>> supports into Struts 2.5.20. Could you please wait a few days for
its
>>>>>>
>>>>>> release and then test the bits? It currently can pass all tests with
>> all
>>>>>> jdks (see [1]) but it's so great if you will be able to test it in
>>>>>>
>>>>>> production also.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks for using Struts!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Kind Regards.
>>>>>>
>>>>>>
>>>>>>
>>>>>> [1]https://travis-ci.org/apache/struts/builds/456910100
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 1/14/2019 11:13 AM, Sebastian Götz wrote:
>>>>>>
>>>>>> Hello all.
>>>>>>
>>>>>>
>>>>>>
>>>>>> I searched through the website and the issue tracker to find any
>> roadmap
>>>>>> info concerning Java 11 support.
>>>>>>
>>>>>> At the moment I try upgrading our webapp to Tomcat 9 with OpenJDK
11.
>> I
>>>>>> now from past upgrades that we had to use a Java8-support-plugin
for a
>>>>>>
>>>>>> while.
>>>>>>
>>>>>> Now with JDK 11 it looks a bit more complex getting the Java 9 module
>>>>>>
>>>>>> stuff together correctly. But I think someone must have a plan for
>> this
>>>>>> migration.
>>>>>>
>>>>>>
>>>>>>
>>>>>> So the question is: how and when is it going to be possible to use
>>>>>>
>>>>>> struts2 with Java 11?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Kind regards
>>>>>>
>>>>>>
>>>>>>
>>>>>> Sebastian Götz
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail:user-unsubscribe@struts.apache.org<mailto:
>>>> user-unsubscribe@struts.apache.org>
>>>>>> For additional commands, e-mail:user-help@struts.apache.org<mailto:
>>>> user-help@struts.apache.org>
>>>>>> --
>>>>>> Mit freundlichen Grüßen
>>>>>>
>>>>>> Sebastian Götz
>>>>>>
>>>>>> iNFORM Technology GmbH
>>>>>> Niederlassung Albstadt
>>>>>> Berliner Straße 24
>>>>>> 72458 Albstadt-Ebingen
>>>>>>
>>>>>> Tel: +49 7431 9816090
>>>>>> Fax: +49 7431 9816092
>>>>>> s.goetz@inform-technology.de<mailto:s.goetz@inform-technology.de>
>>>>>> http://www.inform-technology.de/
>>>>>>
>>>>>> *****************************************************
>>>>>>
>>>>>> Zentrale Stockach:
>>>>>> Bodenseeallee 18
>>>>>> D-78333 Stockach
>>>>>> Tel: +49 7771 9282 494
>>>>>>
>>>>>> *****************************************************
>>>>>>
>>>>>> Geschäftsführer: Dipl.-Ing. (FH) Heinz Roth | Handelsregister:
HRB
>>>> 715948, Amtsgericht Freiburg | USt-ID Nr.: DE312290945
>>>>>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>>>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
>> E-Mail
>>>> irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
>>>> vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
>>>> Weitergabe dieser Mail ist nicht gestattet.
>>>>>> This e-mail may contain confidential and/or privileged information.
If
>>>> you are not the intended recipient (or have received this e-mail in
>> error)
>>>> please notify the sender immediately and destroy this e-mail. Any
>>>> unauthorised copying, disclosure or distribution of the material in this
>>>> e-mail is strictly forbidden.
>>>>> --
>>>>> Mit freundlichen Grüßen
>>>>>
>>>>> Sebastian Götz
>>>>>
>>>>> iNFORM Technology GmbH
>>>>> Niederlassung Albstadt
>>>>> Berliner Straße 24
>>>>> 72458 Albstadt-Ebingen
>>>>>
>>>>> Tel: +49 7431 9816090
>>>>> Fax: +49 7431 9816092
>>>>> s.goetz@inform-technology.de <mailto:s.goetz@inform-technology.de>
>>>>> http://www.inform-technology.de/
>>>>>
>>>>> *****************************************************
>>>>>
>>>>> Zentrale Stockach:
>>>>> Bodenseeallee 18
>>>>> D-78333 Stockach
>>>>> Tel: +49 7771 9282 494
>>>>>
>>>>> *****************************************************
>>>>>
>>>>> Geschäftsführer: Dipl.-Ing. (FH) Heinz Roth | Handelsregister: HRB
>>>>> 715948, Amtsgericht Freiburg | USt-ID Nr.: DE312290945
>>>>>
>>>>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>>>>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
>>>>> E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
>>>>> Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie
>>>>> die unbefugte Weitergabe dieser Mail ist nicht gestattet.
>>>>>
>>>>> This e-mail may contain confidential and/or privileged information. If
>>>>> you are not the intended recipient (or have received this e-mail in
>>>>> error) please notify the sender immediately and destroy this e-mail.
>>>>> Any unauthorised copying, disclosure or distribution of the material
>>>>> in this e-mail is strictly forbidden.
>>>> --
>>>> Mit freundlichen Grüßen
>>>>
>>>> Sebastian Götz
>>>>
>>>> iNFORM Technology GmbH
>>>> Niederlassung Albstadt
>>>> Berliner Straße 24
>>>> 72458 Albstadt-Ebingen
>>>>
>>>> Tel: +49 7431 9816090
>>>> Fax: +49 7431 9816092
>>>> s.goetz@inform-technology.de <mailto:s.goetz@inform-technology.de>
>>>> http://www.inform-technology.de/
>>>>
>>>> *****************************************************
>>>>
>>>> Zentrale Stockach:
>>>> Bodenseeallee 18
>>>> D-78333 Stockach
>>>> Tel: +49 7771 9282 494
>>>>
>>>> *****************************************************
>>>>
>>>> Geschäftsführer: Dipl.-Ing. (FH) Heinz Roth | Handelsregister: HRB
>>>> 715948, Amtsgericht Freiburg | USt-ID Nr.: DE312290945
>>>>
>>>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>>>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
>>>> E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
>>>> Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie
>>>> die unbefugte Weitergabe dieser Mail ist nicht gestattet.
>>>>
>>>> This e-mail may contain confidential and/or privileged information. If
>>>> you are not the intended recipient (or have received this e-mail in
>>>> error) please notify the sender immediately and destroy this e-mail. Any
>>>> unauthorised copying, disclosure or distribution of the material in this
>>>> e-mail is strictly forbidden.
>>>>
>> --
>> Mit freundlichen Grüßen
>>
>> Sebastian Götz
>>
>> iNFORM Technology GmbH
>> Niederlassung Albstadt
>> Berliner Straße 24
>> 72458 Albstadt-Ebingen
>>
>> Tel: +49 7431 9816090
>> Fax: +49 7431 9816092
>> s.goetz@inform-technology.de <mailto:s.goetz@inform-technology.de>
>> http://www.inform-technology.de/
>>
>> *****************************************************
>>
>> Zentrale Stockach:
>> Bodenseeallee 18
>> D-78333 Stockach
>> Tel: +49 7771 9282 494
>>
>> *****************************************************
>>
>> Geschäftsführer: Dipl.-Ing. (FH) Heinz Roth | Handelsregister: HRB
>> 715948, Amtsgericht Freiburg | USt-ID Nr.: DE312290945
>>
>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
>> E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
>> Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie
>> die unbefugte Weitergabe dieser Mail ist nicht gestattet.
>>
>> This e-mail may contain confidential and/or privileged information. If
>> you are not the intended recipient (or have received this e-mail in
>> error) please notify the sender immediately and destroy this e-mail. Any
>> unauthorised copying, disclosure or distribution of the material in this
>> e-mail is strictly forbidden.
>>

-- 
Mit freundlichen Grüßen

Sebastian Götz

iNFORM Technology GmbH
Niederlassung Albstadt
Berliner Straße 24
72458 Albstadt-Ebingen

Tel: +49 7431 9816090
Fax: +49 7431 9816092
s.goetz@inform-technology.de <mailto:s.goetz@inform-technology.de>
http://www.inform-technology.de/

*****************************************************

Zentrale Stockach:
Bodenseeallee 18
D-78333 Stockach
Tel: +49 7771 9282 494

*****************************************************

Geschäftsführer: Dipl.-Ing. (FH) Heinz Roth | Handelsregister: HRB 
715948, Amtsgericht Freiburg | USt-ID Nr.: DE312290945

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte 
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese 
E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den 
Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie 
die unbefugte Weitergabe dieser Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If 
you are not the intended recipient (or have received this e-mail in 
error) please notify the sender immediately and destroy this e-mail. Any 
unauthorised copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message