Hi, I am serializing a java object with BigDecimal fields to an AS Object. The BigDecimal has precision 8. When the BigDecimal has value 0.00000000, this is serialized to a string "0e-8". Ideally I would like to have a custom converter which would use the toPlainString() method on BigDecimal to do it's conversion. However I can't find any way documented to provide custom converters on the Java-AS side. Any hints would be most welcome!
BigDecimal java->AS serialization
Adobe Abro Calligrapher
Adobe has created live Effect, smart objects, but this is New Live
Application, which will create live document, that document will be open able in Illustrator and InDesign, I am not talking about placing that document inside of Illustrator or InDesign, but about opening and saving inside of Illustrator & InDesign in its own formation (.alc etc.) just like Illustrator opens .pdf document and it is able to save in its own .pdf formation. This document is bridge between Illustrator and InDesign, because in Illustrator you are not able to place or open InDesign document. If you need beautiful frames layout, for that you will have to Choose InDesign, & for nice Effects,Illustrator is really nice. & Calligraphy just like Kelk2010 (Arabic Calligraphy), The benefit of this live document is, you can open that document at same time in Illustrator, InDesign and Adobe Abro Calligrapher, and can save any new changing from any application and it will update automatically like linked file in any opened application that’s why I call it live document and every object would be stake able in any application when we save it with new changing in any application it will update automatically in other applications if it is opened at same time.
About Adobe Abro calligrapher’s Fonts’ must be like kelk2010 (Arabic Calligraphy) there must be live exclude option/function provided in this application, when we type any word in Adobe Abro Calligrapher with combination of few characters we make work but when we move that word with (black arrow) selection tool in Illustrator it moves whole word. If we decided to change the shape of that word in Adobe Abro Calligrapher, it will also update in Illustrator, if we had applied gradient, drop shadow etc. in Illustrator, It will remain same and if we move that word live exclude of Adobe Abro Calligrapher, it will work and remain live, just like Illustrator’s pathfinder panel, if we have created two paths, 2nd path is on the top of 1st path/overlapped little bit, to create Live exclude & Compound path overlapped shape areas, you have press Alt key in CS4/CS5 it will create live exclude & compound path. & also Live Space function/option must be provided. (Wide/narrow space function/option between vowel points, beautifying marks & character/to character or selected whole world, line or whole document’s words).
Adobe Abro Calligrapher must be able to create .pdf jpg etc., & older versions doc: like Ai & ID, finishing that document place in InDesign or Illustrator, it will take low size,
and about calligraphy (in Middle Eastern Version) languages should be Arabic (with vowel
points of Arabic calligraphy & every style has own vowel points like Kelk2010) , Persian,
Urdu (like Inpage professional fonts (with vowel points of Urdu style/calligraphy),
Sindhi, Hindi (vowel panel would be much better for applying vowel points like kelk2010)
etc. & their other styles like Kelk2010, when any person will install application that
will be able to select languages and languages their styles in beginning of application’s
installation and Adobe Abro Calligrapher’s font folder must be separate from windows font
folder, so that we will not see those Fonts, because those font will not be able to use
in Illustrator, InDesign & other applications,
In the beginning of installation we must be able to see the fonts style/preview, so that we will be able to select those fonts/style only we want.
This application must be the part of Design Standard Suite, in Japanese version languagesshould be Japanese, chines, Taiwan, Korean etc. and in European version all should beEuropean etc.
but we will be able to move Vowel points & words with selection/move tool of live calligrapher & must it keep live/editable text, when we copy Arabic/etc. text from any document/file it must be able to paste all Vowel points, Kelk doesn't paste all Vowel points.
- 1. Kelk is not able to open many documents at same times, but live Calligrapher should be able to open many documents at same time in Tabs, like other Adobe applications.
- 2. Kelk doesn't insert the symbol or character of another font in line of another font, live Calligrapher should be able to insert any symbol or character of another font to another font's line like InDesign, for Example you are able to copy line rectangle circle or any shape & can paste in InDesign in Text Frame. & each font should have all own symbols, in kelk many fonts don't have symbols.
- 3. Morgan & Bleed setting should be included in New Document dialogue, & Facing pages also.
- 4. Line Style should be provided, like character style/paragraph style in ID & Ai, In line Style we will be able to use space function/option for vowel points, & be able to use same function for beautifying Marks & characters with different space.
- 5. Auto/live Refresh page function should be provided, in kelk when you move page with hand Tool or Zoom in or Out, you are not be able to see good preview, you have to refresh the page manually.
- 6. Left/Center/Right Line alignment should be included but not paragraph.
- 7. When we change the shape of character in kelk, it removes the Vowel points, in live Calligrapher that shouldn't happen, but also these points should be auto set according to the shape of word/letter.
- 8. There is no spell checking in kelk. Spell Checking must be provided, & how should it work ?If any person wants to write complete Quran in live calligrapher, then how that person will be able to find correct spell???. In Quran there are many words in same style but carry difference between those words vowel points, Words are same in look but vowel points are change, & this is the big problem that has to be solved, & here is the solution !!!! Now if you want to check your spell of Quranic version, you have to tell the live calligrapher, to check spell of document from this Surah. & live calligrapher will keep only those words in its mind/spell checking engine which are in that surah toled to live calligrapher.
- 9. Press spacebar to get hand tool temporarly like Photoshop, InDesign & Illustrator. In kelk that function is not like Adobe's applications
- 10. Tools = Rotate (if we select the line we will be able to rotate through reference pint, or if we select the word we will be able to do same way) Scale tool, fill & Stroke like Illustrator, Pen tool, Eraser tool, Basic Drawing tools (like illustrator rectangle, polygon etc.) etc.... should be provided.
- 11. Panels = Gradient, Swatches, Color, Color Guide like Illustrator, Layers, Effects (like InDesign (Drop shadow etc.), opacity/Transparency etc..... should be included.
- 12. Master Page for Frame Design designs etc. must be provided.
- 13. Perfect Exporting like Urdu Inpage, in kelk you are able to see the preview perfect, whatever you have written, but when you Export to Illustrator's formation, you are not able to see the same result, there you will get every letter separate & again you have to ungroup to set every letter to make perfect word by merging through pathfinder panel, or shape builder tool.
- 14. Do not include rough/wrong or un-useful shapes of words, there are many word/letters have bad/rough shape in kelk,
- 15. Type on path must be included.
- 16. Smart Guides for Vowel points, when we use vowel points for any word/letter smart guides must help to place on correct area. Example if we move any vowel point with selection Tool, smart guides need to high light that letter, just like other applications of Adobe.
- 17. Auto line filling with beautifying marks & auto aligning from top, Bottom, left & Right should be provided. This is really nice function. How should it work?? you have to define a style for it, & that is called beautifying Marks style, in this style you have to define the space around for beautifying marks, between vowel points & characters. when you lick on style it will apply all marks randomly according to the remaining space of line.
- 19. Some beautifying marks always remaining on the top of word/letter.
20. select menu must be provided for selection like illustrator, if we want to select only Vowel points/beautifying marks/ letters we will be able, & also magic wand tool, with the help of magic want tool we will be able to select letters/vowel points/ & beautifying marks in same shape, color & size etc.....
21.Selection Tools
Adobe Abro calligrapher should have Selection tools, just like selection Tool (Black arrow), Direct selection Tool & Group selection Tool.
Selection Tool should select whole line, Direct selection tool will select only point (point is just like dot of i or j), vowel point Beautifying Mark, & Group selection tool should select whole word.
Through these tools we would move easily text as object as desired, but after moving, text should remain live Editable text.
& Keyboard shortcuts should be same for these tools just like Illustrator.
22. Find & change dilouge must be included, because we will easly change/replace Glyps, just like kelk ( in kelk we are able to change the shape of charactors by right clicking on that world we want to change by choosing other shapes option ).
- This application is looking like Adobe's application, but not like Kelk.
Message was edited by: Muhammad Amjad Khan Abro
BlazeDS & Flex SDK compatibility
Is FlexSDK 3.x compatible with BlazeDS 4 or where can I find compatibility matrix?
thanks
Problem reading HashMap in Flex 3
I am using flex 3 and BlazeDS to get the results from a Java Method. The return type of the java method is HashMap<Integer, ArrayList<SomeObject>> . In Flex, I am trying to get all the elements of the event.result object in the following manner.
for(var key:* in event.result) { Alert.show(key,"Key"); var value:* = event.result[key]; Alert.show(value,"Values"); pdac = value as ArrayCollection; }
The Keys are getting printed correctly. But the values are coming out to be null. How do I go about accessing the ArrayList? I checked on the Java side and it is indeed printing the arraylist.
TIA,
mvenk..
How often does BlazeDS perform SSL handshakes for AMF Remoting using HTTPS?
This question is only concerned with BlazeDS AMF remoting using a secure channel (e.g. using HTTPS).
My remoting-config.xml file includes a channel property for scope that is "request" as shown below. I believe this means the server sessions are treated as stateless.
I'm trying to understand the performance penalty created by BlazeDS when implementing secure AMF channel using HTTPS, as it relates to SSL handshakes to establish a connection (my understanding is this handshake is a major contributor to latency for HTTPS connections).
When scope is set to "request" as shown below in remoting-config.xml, will BlazeDS perform an SSL handshake ONCE at the start of a user's session for a web application? In which case, there will be a high latency for the first connection (due to many roundtrips required), but normal latency thereafter because something (I'm not sure what) gets cached (is that right?).
Or, will BlazeDS perform handshakes for EACH and EVERY call between client and server (e.g. from the first call to the 1000'th call)? In which case, there will be high latency throughout the user's entire experience using the web application whenever a server call is issued?
Of course, I hope it's the former case, but I couldn't find any documentation for this. Any comments much appreciated.
<destinationid="dest">
<channels>
<channelref="my-secure-amf"/>
</channels>
<properties>
<source>myClass</source>
<scope>request</scope>
</properties>
</destination>
Auto Re connect/Login using channel attribute
Have been trying to get around the working of <login-after-disconnect> tag for quite some time now.
I also came across th post http://www.mail-archive.com/flexcode...msg110617.html, where in its mentioned couple of easy steps to make it work.
Here is the scenario I am looking into right now.
I followed the steps and set the <login-after-disconnect> channel attribute in services-config as true. What I am trying to achieve is auto-relogin without the prompt on a flex client after the server session expires.
Using flex, blazeds, spring security as the combination, After initial login and subsequent session time out, I try to access a remote destination via a method call.
I don't need an anonymous login, thus disabled the anonymous in sec:http.
As mentioned in the post I am able to get the "Client.Authentication" as the fault code back to the client, but then it doesn't reconnect. Has anyone had success in achieving this. Thanks
يا مصريين توكيل كلفينيتور اهة//01227713067
توكيل وايت وستنجهاوس باألاسكندرية الأن 01227713067_01286629661وايت وستنجهاوس خدمة العملاء بالاسكندرية توكيل وايت وستنجهاوس بالاسكندرية مركز الخدمة والصيانة صيانة وايت وستنجهاوس الاسكندرية °¤§ ---√ بالضمان المعتمد من المركز الرئيسى للصيانة فى مصر و جميع المحافظات . حيث ان خدمة الصيانة تتميز بالسهولة في الإجراءات والسرعة والدقة والالتزام بالمواعيد .
توكيل وايت وستنجهاوس الإسكندرية , توكيل وايت وستنجهاوس للغسالات بالإسكندرية , مركز صيانة وايت وستنجهاوس الاسكندرية , صيانة غسالات وايت وستنجهاوس الاسكندرية
نسعى جاهدين ان نكون افضل مما كنت ان تتوقع لاننا خبرتنا تتفوق بمراحل ونتميز بأننا نملك عدة حلول مبتكرة لصيانة اجهزة وايت وستنجهاوس بأعلى كفاءة .
نعمل بأحدث أجهزة لتحديد الاعطال و التغلب عليها لدينا افضل مهندسين متخصصون فى التعامل مع أجهزتكم بتقنية عالية .
هدفنا هو أرضاء العميل , وراحة بالة بعد زيارتنا عملاؤنا هم سر نجاحنا .
اذا كنت فى احتياج لعمل صيانة على ثلاجة وايت وستنجهاوس او غسالة وايت وستنجهاوس و انتة فى اطمان فعليك الاتصال بنا على 01227713067_01286629661_01111747277 - نحن فى خدمتك اينما كنت نحن نخدم جميع المحافظات و المراكز و المدن من المركز الرئيسى للصيانة لنسعى أن نكون الاول و الاسرع فى التعامل معك .
تتبع الشركة الأساليب الحديثة فى تنفيذ اعمال الصيانة لآرضاء احتياجات العملاء فى عنصر الوقت و الاحساس بالتميز و الرقى فى التعامل معنا .
قمة الالتزام بمعايير جودة الخدمات التى نقدمها لعملائنا حرصا على بناء علاقة دائم معهم لنكون الوحيدين الذين يشعرون اتجاههم بالامان والثقة ونسعى جاهدين الى تغيير النظرة السائدة فى مصر عن الصيانة نحن فى ثقة متابدلة مع العميل .
خدمة وايت وستنجهاوس الاسكندرية // مركز خدمة وايت وستنجهاوس الاسكندرية || مركز خدمة غسالات وايت وستنجهاوس الاسكندرية .
نحن الوحيدون الذين لدينا قطع غيار أصلية لجميع منتاجات وايت وستنجهاوس مستوردة لجميع الموديلات توكيل وايت وستنجهاوس نسعى دائما للاحدث و الموديلات الجديدة وايت وستنجهاوس مما يشمل قطع غيار ثلاجة وايت وستنجهاوس , قطع غيار غسالة وايت وستنجهاوس , قطع غيار دراير وايت وستنجهاوس , قطع غيار ديب فريزر وايت وستنجهاوس , قطع غيار غسالة اطباق وايت وستنجهاوس , غسالات ال 5 كيلو و 7 كيلو و 10 كيلو // للحفاظ على كفاءة الجهاز و استمرارية التشغيل و تجنب الاعطال الى الابد و تفعيل ضمان على الجهاز مجددا من الشركة . 01227713067_01286629661_01111747277 -
مركز وايت وستنجهاوس - خدمة الصيانة المعتمدة .
مركز صيانة وايت وستنجهاوس الاسكندرية ؛ مركز صيانة غسالات وايت وستنجهاوس الاسكندرية
تتشرف أسرة الشركة في تلبية كافة رغباتكم ونعدكم بالالتزام والكفاءه في تقديم خدمة الصيانة المنزلية .
توكيل وايت وستنجهاوس المركز الرئيسى للصيانة بالاسكندرية . توكيل وايت وستنجهاوس فى الاسكندرية / توكيل وايت وستنجهاوس بالاسكندرية / توكيل وايت وستنجهاوس داخل الاسكندرية
توكيل وايت وستنجهاوس الساحل الشمالى ؛ توكيل وايت وستنجهاوس الساحل الشمالى / فرع الاسكندرية
توكيل وايت وستنجهاوس يخدم مدينة برج العرب ؛ توكيل وايت وستنجهاوس برج العرب / فرع الاسكندرية
توكيل وايت وستنجهاوس فى البحيرة / توكيل وايت وستنجهاوس بالبحيرة / توكيل وايت وستنجهاوس داخل البحيرة .
توكيل وايت وستنجهاوس يخدم مركز دمنهور ؛ توكيل وايت وستنجهاوس يخدم مركز كفر الدوار ؛ توكيل وايت وستنجهاوس يخدم مركز كوم حمادة . 01227713067_01286629661_01111747277 -
توكيل وايت وستنجهاوس فى طنطا / توكيل وايت وستنجهاوس بالغربية / توكيل وايت وستنجهاوس داخل طنطا .
توكيل وايت وستنجهاوس يخدم محافظة الغربية ؛ توكيل وايت وستنجهاوس يخدم المحلة الكبرى ؛ توكيل وايت وستنجهاوس يخدم كفر الزيات .
توكيل وايت وستنجهاوس فى كفر الشيخ / توكيل وايت وستنجهاوس كفر الشيخ / توكيل وايت وستنجهاوس داخل كفر الشيخ .
توكيل وايت وستنجهاوس يخدم مركز دسوق ؛ توكيل وايت وستنجهاوس يخدم مركز فوة ؛ توكيل وايت وستنجهاوس يخدم مركز الحامول ؛ توكيل وايت وستنجهاوس يخدم مركز سيدى سالم - كفر الشيخ .
توكيل وايت وستنجهاوس فى دمياط / توكيل وايت وستنجهاوس بدمياط / توكيل وايت وستنجهاوس داخل دمياط .
توكيل وايت وستنجهاوس يخدم مدينة راس البر ؛ توكيل وايت وستنجهاوس الاسكندرية - توكيل وايت وستنجهاوس فى الاسكندرية - توكيل وايت وستنجهاوس خدمة العملاء بالاسكندرية §¤° توكيل وايت وستنجهاوس بالاسكندرية°¤§ مركز الخدمة والصيانة §¤° صيانة وايت وستنجهاوس الاسكندرية °¤§ ---√ بالضمان المعتمد من المركز الرئيسى للصيانة فى مصر و جميع المحافظات . حيث ان خدمة الصيانة تتميز بالسهولة في الإجراءات والسرعة والدقة والالتزام بالمواعيد .
توكيل وايت وستنجهاوس الإسكندرية , توكيل وايت وستنجهاوس للغسالات بالإسكندرية , مركز صيانة وايت وستنجهاوس الاسكندرية , صيانة غسالات وايت وستنجهاوس الاسكندرية
نسعى جاهدين ان نكون افضل مما كنت ان تتوقع لاننا خبرتنا تتفوق بمراحل ونتميز بأننا نملك عدة حلول مبتكرة لصيانة اجهزة وايت وستنجهاوس بأعلى كفاءة .
نعمل بأحدث أجهزة لتحديد الاعطال و التغلب عليها لدينا افضل مهندسين متخصصون فى التعامل مع أجهزتكم بتقنية عاليةوستنجهاوس راس البر . 01227713067_01286629661_01111747277 -
How the server side (java) knows if a client unsubscribed or disconnected
How the server side (java) knows if the client is still connection or if the client is disconnected/ unsubscribed. Is there any listener that i can add?
Thanks
Benny
FlexSession : always the same !?
In a java class, I do, in a method that I call from a remote object in ActionScript :
System.out.println(FlexContext.getFlexSession().getId());
And whatever the client who connects, it have always the same session id (it is in fact exactly the same object FlexSession, the ref is the same).
However, the client is different : in the Message object that I got in my custom JavaAdapter, getClientId() returns a different id.
What's the problem?
Thank you by advance.
Session Management on BlazeDS
Hi everybody
I have got a problem about session management on blazeds.
First of all I read all the stuff about HttpSession and HttpClient on BlazeDs guide.
However I can not still figure out what is going wrong about my project.
I am using Flex Session
FlexSession session = FlexContext.getFlexSession();
After creating session Whenever I close my browser (Chrome, IE , Firefox). The session automatically expires.
And then when ever I reopen my browser I get another Session ID
FlexSession created: C84C55BDD97BE6B1252AE752D6901C27
I can log this new Session id from SessionListener.
Awkwardly this happens when I close whole tabs (The browser program at all). In contrast When I open a few tab and then close one of them, because of my setting on serverside Session does not expires as expected.
Could you help me why I couldnt get the same session after reopen browser.
By the way I also couldn't get below log when closing browser
FlexSession expired: C84C55BDD97BE6B1252AE752D6901C27
I didnt change any js code in the html page.
Thank you very much
session time out
this is the situation:
-chanel AMFChannel
-web.xml session time out = 1 minute
1.from the client app client login and on the server in runtime I create destination for the logged user, and then from the client I subscribe a consumer for that destination. All is OK a send messages from the server and the client receive them, but the problem is here:
When 1 minute pass without any action from the client the session on the server is never closed even if I wait an hour. So I rebiuld the project just to try what will happen if I do not subscribe for the destination from the client, so now I dont use blazeds in this case the session closes at time. So where is the problem. Is blazeds keeping the session open? And how to get over that problem I want to have working destination and http session that close on time?
JSR-166 issue
I have been using the turn-key version of BlazeDS for simple demo apps and it works fine. There's a bug in Tomcat 6.0.14, which is embedded in the turn-key version. The bug has been fixed and 6.0.20 at least works fine.
I have started to configure BlazeDS for Tomcat 6.0.20. I deployed the blazeds.war and my simple demo app to Tomcat and restarted the app server. At startup, I get the following exception
**** MessageBrokerServlet failed to initialize due to runtime exception: Error: java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap at flex.messaging.MessageBroker.<init>(MessageBroker.java:189) at flex.messaging.config.MessagingConfiguration.createBroker(MessagingConfiguration.java:105) at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:112) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(Unknown Source)
I checked out the BlazeDS 3.2.0 source code and looked at the MessageBroker.java. It imports edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap. This library (JSR-166) has been included to the Java API stack in version 1.5 as java.util.concurrent. Why is the BlazeDS still using the old library, since one of the requirements is to have JDK 1.5?
I have tried to compare the two Tomcat versions (BlazeDS turnkey and the plain Tomcat 6.0.20), but cannot find this library from the turn-key version. Both of the servers use jvm 1.6, the turn-key model uses 1.6.0_12-b04 to be more specific and the other one uses 1.6.0_15-b03. This difference is so small that I don't think that is the problem.
Any ideas or suggestions?
Thanks.
Persistent 1131 error. Is there a solution?
I'm new to both Flex and BlazeDS. However, 40+ years programming experience qualifies me as more than a 'newby'.
I've tried implementing several Flex/BlazeDS remoting examples from different books as well as tutorials from the BlazeDS web site. All attempts have ended with the same result. A persistent "1131: Classes must not be nested." error on the main.mxml file. Even deleting all code with the exception of the shell mxml application does not clear the error. The error remains after closing and reopening Eclipse so it's not a temporary state problem. The only way I've found to elimiate the erorr is to delete the entire project including directories.
The 1131 error appears once there is any reference to the ActionScript class that defines the remote Java object AND any other error is encounterd such as a typo in a variable name or a syntax error. Once the other error is cleared the 1131 error appears and cannot be cleared.
Searches reveal this is a problem that has been encountered by others dating back three years but no solution has ever been posted.
For those who are wondering, I am using Flex Builder 3 plugin.
I am thankful though that Adobe offers the 60 day trial period. I would hate to have actually paid for this product.
[svn:bz-trunk] 14508:
Revision: 14508
Revision: 14508
Author: aglosban@adobe.com
Date: 2010-03-02 07:28:49 -0800 (Tue, 02 Mar 2010)
Log Message:
***********
Removed Paths:
*************
blazeds/trunk/servers/apache-tomcat-6.0.14/conf/Catalina/localhost/blazeds.xml
blazeds/trunk/servers/apache-tomcat-6.0.14/conf/Catalina/localhost/qa-manual.xml
blazeds/trunk/servers/apache-tomcat-6.0.14/conf/Catalina/localhost/samples.xml
Scalability in BlazeDS - What is the maximum number of concurrent users possible with BlazeDS?
Hi all,
is there a limit on the number of concurrent users that can connect via BLAZEDS? I see many places that it is only in 100s and not in 1000s.
is that true? Anybody has doen performance testing on that?
Thanks
Kiran
BlazeDS first response is VERY SLOW
Hi everyone,
I have a very strange an annoying problem:
I have an appliaction written in Flex 3, with BlazeDS 3.2 and Java in the backend.
I'm actually using a portal (liferay) to display portlets that contain Flex movies.
When I hit a refresh button on my page, all the Flex movies send a RemoteObject request to the server (using BlazeDS), which should go to java classes and invoke a method (standard BlazeDS usage I 'm guessing).
I'm experiencing VERY slow response (14 minutes) on the first hit, while the following hits are much faster.
I've enabled the BlazeDS logging (logging level="All") and I also have debug prints coming from my java classes.
I also use the "showBusyCursor" attribute for the RemoteObject - so I can see indication of the request being sent from the flex movie.
Here is what I see:
- I hit the refresh button
- Each movie invokes a RemoteObject request
- I see a busy sign - in all the movies
- I see nothing in the log - no BlazeDS prints and no Java prints
- Wait 14 minutes or so
- I see BlazeDS prints followed by Java prints
- I see data populating my flex movies.
The really weird thing is that I have the same "application" installed in 4 different computers (on my laptop and in 3 other unix machines),
3 of these installations work well (good response times) and only 1 has the issue I'm describing.
I've tried many things, but everything failed.
I'd be really happy to get some advice on this.
Thanks
Channel endpoint my-amf not receiving the request deployed on websphere 6.1
Hi
We are deploying the flex application build on java / Spring / BlazeDS on WebSphere application server 6.1.
The application deployed on local server is running fine. But when we deployed on the development server the application is not responding when a request is sent.
we are using the BlazeDS as an mediator to communicate between the flex and Java and we configured the AMF channel endpoints in service-config.xml to transfer the data between java and flex.
When a request is sent from Flex UI , if the request is reached successfully it logs the communication in SystemOut.log before it reaches the controller / java class.
Eg:
5/27/10 9:33:09:701 EDT 00000061 SystemOut O BlazeDSChannel endpoint my-amf received request.
5/27/10 9:33:09:712 EDT 00000061 SystemOut O BlazeDSDeserializing AMF/HTTP request
Version: 3
(Message #0 targetURI=null, responseURI=/3)
(Array #0)
[0] = (Typed Object #0 'flex.messaging.messages.RemotingMessage')
operation = "execute"
source = null
clientId = null
timeToLive = 0
timestamp = 0
destination = "pmpRemoteService"
messageId = "0778D259-10FE-6E98-DC55-D9F768F5432E"
headers = (Object #1)
DSId = "BC24EED9-0709-D24D-3205-A2A5834D5252"
DSEndpoint = "my-amf"
body = (Array #2)
[0] = (Typed Object #3 'com.web.pmp.context.vo.PMPWebContext')
serviceName = "commonServices"
outputData = null
operationName = "getServicesList"
inputData = null
errorMessageList = null
The same ear is deployed on Websphere 6.1 development server, the request is not able to reach at all and hence the application goes to not responding.
My local server is on http where as development server is https.
Not able analyze any application configuration or server configurations are needed.
It would be great if any one can help in resolving the issue.
services-config.xml :
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service-include file-path="remoting-config.xml" />
<default-channels>
<channel ref="my-secure-amf">
<serialization>
<log-property-errors>true</log-property-errors>
</serialization>
</channel>
<channel ref="my-amf">
<serialization>
<log-property-errors>true</log-property-errors>
</serialization>
</channel>
</default-channels>
</services>
<security>
<login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
</security>
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<connect-timeout-seconds>10</connect-timeout-seconds>
</properties>
</channel-definition>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
<connect-timeout-seconds>10</connect-timeout-seconds>
</properties>
</channel-definition>
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>4</polling-interval-seconds>
</properties>
</channel-definition>
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="DEBUG">
<properties>
<prefix>[BlazeDS] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>false</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>false</enabled>
<!--
<watch-interval>20</watch-interval>
<watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
<watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
<touch-file>{context.root}/WEB-INF/web.xml</touch-file>
-->
</redeploy>
</system>
<factories>
<factory id="spring" class="com.jpmorgan.am.hedgefunds.pmppartnerweb.web.factory.SpringFactory"/>
</factories>
</services-config>
remoting-config.xml :
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="pmpRemoteService">
<properties>
<factory>spring</factory>
<source>pmpBaseAction</source>
</properties>
</destination>
</service>
Thanks
Invalidate connection to BlazeDS server when closing tab in browser
There is an issue using IE and blazeds. When you establish a connection to blazeds from a tab of your browser, even when the tab get closed, she connection remains. The session doesn't get invalidated. It looks like it works fine in Firefox but it's an issue in IE.
It is especialy important if you are build a chat room for example ... you want to know precisly when someone is leaving the room.
I finally found an answer to this problem. I didn't find any answer on the Internet so I felt that I should share it.
I invalidate the session on the server side using a servlet.
Here is the code:
In my flex app html template I add:
<scriptlangugage='javascript'>
function disconnectAll(){
if (navigator.appName == "Microsoft Internet Explorer")
{
xhr = new ActiveXObject("Microsoft.XMLHTTP"); // Trying Internet Explorer
}
else
{
xhr = new XMLHttpRequest();
}
if (xhr) {
xhr.open("GET", "../disconnect", false);
xhr.send(null);
}
}
</script>
</head>
<bodyscroll="no"onunload="disconnectAll()">
This call to ../disconnect does a http request to my servlet that will invalidate the connection.
Here is the servlet code:
publicclass Disconnect extends HttpServlet {
/**
*
*/
privatestaticfinallong serialVersionUID = 1L;
@Override
publicvoid doGet(HttpServletRequest httpRequest, HttpServletResponse response) {
System.out.println("doGet disconnect called !");
httpRequest.getSession().invalidate();
}
}
This has to be added in the web.xml for the servlet to be accessible:
<servlet>
<servlet-name>DisconnectServlet</servlet-name>
<display-name>DisconnectServlet</display-name>
<servlet-class>com.ms.advil.servlets.Disconnect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisconnectServlet</servlet-name>
<url-pattern>/disconnect</url-pattern>
</servlet-mapping>
That’s it ! On the unload of the page, an Ajax request is made to the servlet that will invalidate the http session.
Your browser’s connections get invalidated and blazeDS catches the disconnection.
Hope this will help
Cheers
Blazeds Paging support question
Hi,
I've read an article explaining how simple paging can be implemented in a Data Grid using Flash Builder 4. FB4 generates a lot of code and when I started to take a look at the details, I found that it's using classes specific to LiveCycleDS (ManagedQuery, RPCDataManager etc.). The confusing part is that the guide chooses BlazeDS as the remote access service. However, I've also read from a few sources that data paging is only available in LiveCycleDS.
In an enterprise Flex app, does anyone know if I must purchase LiveCycleDS to have paging in a Data Grid as shown in the article?
The article above was mentioning: "Yet another source of confusion – LiveCycle DS Express is exactly the same as LiveCycle DS except that it is FREE and restricted to a single application running on a single CPU (click here for more details on the licensing)."
So does that mean the data paging article only works for a small scale app and not for an enterprise app - unless I purchase LiveCycleDS?
Thanks.
Apache proxypass and crossdomain.xml not working
Hi everyone,
I have the following problem. I have set up jboss on a Linux server connecting to local port 8080 (localhost:8080).
I have opened the application on port 80 with Apache ( www.myDomain.com) and set up a virtual host that proxies
this connection to localhost:8080 where jboss is listening.
<VirtualHost *:80>
DocumentRoot /var/www/nyDomain
ServerName myDomain.com
Alias /crossdomain.xml /var/www/html/crossdomain.xml
# proxy pass to the jboss server
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
ProxyPass /Stylect http://127.0.0.1:8081/Stylect
ProxyPassReverse /Stylect http://127.0.0.1:8081/Stylect
# ProxyPreserveHost on
</IfModule>
</VirtualHost>
The crossdomain.xml file is at the root of the server and can be accessed with www.mydomain.com/crossdomain.xml
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
I can see in firebug that it's being downloaded when I first request the page - this is the response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Software as a Service Development. </title>
<META name="description" content="Description here
"><META name="keywords" content="Saas, fashion design, plm, production, nutrition
, food, orders">
</head>
<frameset rows="100%,*" border="0">
<frame src="http://xxx.xxx.xxx.xx/crossdomain.xml" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
<!-- pageok -->
<!-- 04 -->
<!-- -->
</html>
Yet I still get a 2048 sandbox violation error.
The crossdomain is needed because the proxied request
appears to be coming from the public ip while jboss
is bound to the local host.
If I expose Jboss directly to the web all works well but there
are too many security issues in that setup. Apache as a front is
much better.
The question is: is this the correct response I should be getting
(or should it be directly the xml file) and why is it not working?
How can I fix this?
Any help much appreciated. I'm stuck.
Dahn