Dynamic Photo Load Lag

Hello,
I am trying to dynamically populate a cube ad with photos and text from a json file.  The fields that are populated are photo, title, desc and price.  When I initially created the ad I had a photo and 3 text fields.  After a 5 second animation, the count would increase by 1 and all fields would be repopulated.  When I tested this the text worked perfectly but there was a lag in the photo switch.  My solution was to create a second set of fields to run the following way:
Slide A (visible): Photo, Title, Desc, Price
Slide B (hidden): populated with the next Photo, Title Desc, Price
5 second animation, then switch
Slide B (Visible)
Slide A (hidden) repopulated with the next Photo, Title, Desc, Price
5 second animation, then switch
Loop back to the top...
This set-up works through the first run through but then the photo starts lagging again.
Can anyone help me solve the lag issue?  Below is my compositionReady stage code. I will also include a zip of my project.  I moved Slide B 300px to the right and took out the hide functions so I could see what was happening behind the scenes.  I also included some helper text fields to show what functions are being called while it is running.
compositionReady Code:
//Variable
imageCount =     0;
//JSON
$.getJSON("slides.json", function(data){
    loadDataA(imageCount);
    // Load Data A
    function loadDataA(i) {
    sym.$("notification1").html("loadDataA");
        sym.$("photo").empty();
        sym.$("photo").attr("src", data[i].image);
        // Populate text A
        sym.$("title").html(data[i].title);
        sym.$("desc").html(data[i].desc);
        sym.$("price").html(data[i].price);
        sym.$("notification5").html("photo image = " + data[i].image);
    // Load Data B
    function loadDataB(i) {
    sym.$("notification1").html("loadDataB");
        sym.$("photo2").empty();
        sym.$("photo2").attr("src", data[i].image);
        // Populate text A
        sym.$("title2").html(data[i].title);
        sym.$("desc2").html(data[i].desc);
        sym.$("price2").html(data[i].price);
        sym.$("notification6").html("photo2 image = " + data[i].image);
    function hideAshowB() {
    sym.$("notification2").html("hideAshowB");
         sym.$("photo").empty();
        //sym.$("photo").hide();
        //sym.$("title").hide();
        //sym.$("desc").hide();
        //sym.$("price").hide();
        sym.$("photo2").show();
        sym.$("title2").show();
        sym.$("desc2").show();
        sym.$("price2").show();
    function hideBshowA() {
    sym.$("notification2").html("hideBshowA");
        sym.$("photo2").empty();
        //sym.$("photo2").hide();
        //sym.$("title2").hide();
        //sym.$("desc2").hide();
        //sym.$("price2").hide();
        sym.$("photo").show();
        sym.$("title").show();
        sym.$("desc").show();
        sym.$("price").show();
      function animateSlideshowA() {
      sym.$("notification3").html("animateSlideshowA");
        sym.$("title").animate({x: 9}, 5000, function() {
        sym.$("notification4").html("insideSlideshowALoop");
                    imageCount++;
                    if (imageCount >= data.length) {
                        imageCount = 0;
                    loadDataA(imageCount);                  
                    hideAshowB();                   
                    animateSlideshowB();
      function animateSlideshowB() {
      sym.$("notification3").html("animateSlideshowB");
        sym.$("title2").animate({x: 309}, 5000, function() {
        sym.$("notification4").html("insideSlideshowBLoop");
                    imageCount++;
                    if (imageCount >= data.length) {
                        imageCount = 0;
                    loadDataB(imageCount);
                    hideBshowA();                 
                    animateSlideshowA();
    loadDataA(imageCount);
        imageCount++;
        loadDataB(imageCount);
        animateSlideshowA();
www.capitalpress.biz/html5ads/cubes/nyssatractor/NyssaDynamicTest.zip
Thanks for your help,
Brandon

Hi,
So, here is an Edge solution using a symbol ("animateAds"). Basic approach is to create a collection and browse it.
Collections are:
a) the json file.
b) sym.createChildSymbol("animateAds","slider") ==> it creates your ads collection.
c) sym.getChildSymbols() ==> it returns the ads collection created by 2).
I also use a global variable ( sym.setVariable("index") ) to play each ad. So: a counter.
1) Creating the symbol:
2) Animating the symbol (one ad):
==> the demo file to download: Nyssa.zip - Box
It's an infinite loop. You can add events (click, swipe).
Note: i change the json file to browse an object.
At last but not least: i tested on Apple (OS X Mavericks and iOS 7.1.2) and on Microsoft (Windows 8.1 update 04/18 with IE 9,10,11).
Ask me if you don't understand code. 2 main steps: creating ads (panel: creationComplete) and playing ads (trigger panels: at 0 and 5000).

Similar Messages

  • Dynamic Photo Gallery in Flash using AS3.0 and XML, but it doesn't work and missed up my app.

    Hi,
    I am creating an iPad app using AS3. The app contains three sections.
    One of those sections (chocolate sources)contains Dynamic Photo Gallery using XML. The photos, thumbnails, and text in this section are loaded from XML.
    I faced may issue when I tried to run this app:
    The gallery photos didn't show up
    The thumbnails (buttons to navigate the photo gallery) didn't show up at all. (The thumbnails should show up under the photo gallery box.)
    The text doesn't show up (the text should be in every photo as describtion)
    I want to include Swipe in the photo gallery, how can I do that?
    When I click on "Chocolate Sources" button, the photo gallery appears in every section, here are print screens describe what I mean:
    The photo gallery covers the home screen too.
    Here is my XML:
    <?xml version="1.0" encoding="utf-8"?>
    <sources>
              <section>
                        <details>
                                            Cocoa tree exists in the tropics area, such as Central and South America.
                                  </details>
                                            <image>
                                                      <url>coca1.jpg</url>
                                                      </image>
                                                      </section>
              <section>
                        <details>
                        Cocoa is supplied in many countries such as Indonesia, Ghana, Brazil, Ecuador and Cameroon.
                        </details>
                                  <image>
                                  <url>coca2.jpg</url>
                                  </image>
                                            </section>
              <section>
                                  <details>
                                  Dark chocolate helps to relax and reduce the stress and blood pressure because it has antioxidants elements, which helps in vasodilatory process.
                                  </details>
                                            <image>
                                            <url>coca3.jpg</url>
                                                      </image>
                                                                </section>
              <section>
                        <details>
                        Chocolate provides energy and hyperactive sometimes because it contains high level of caffeine and sugar.
                        </details>
                                  <image>
                                  <url>coca4.jpg</url>
                                            </image>
                                                      </section>
              <section>
                        <details>
                        Chocolate could be mixed with many different flavors, such as mint, strawberry, orange, banana, vanilla, hazelnut, almond, coconut, and etc.
                        </details>
                                  <image>
                                  <url>coca5.jpg</url>
                                  </image>
                                            </section>
              <section>
                        <details>
                                  Chocolate is expressing of well hospitality and good time due to its lovely taste.
                                  </details>
                                            <image>
                                            <url>coca6.jpg</url>
                                                      </image>
                                                                </section>
    </sources>
    And here is my Action Script for "Chocolate Sources" section:
    stop();
    function Choco1(evt:MouseEvent): void {
              gotoAndStop('16');
    choco_btn.addEventListener(MouseEvent.CLICK,Choco1);
    function Souc1 (evt:MouseEvent): void {
              gotoAndStop ('31');
    souc_btn.addEventListener(MouseEvent.CLICK,Souc1);
    function ShopIn1 (evt:MouseEvent):void {
              gotoAndStop('46');
    shops_btn.addEventListener(MouseEvent.CLICK,ShopIn1);
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.display.MovieClip;
    import flash.display.Loader;
    import fl.motion.MotionEvent;
    import flash.events.MouseEvent;
    import flash.sampler.NewObjectSample;
    import flash.text.TextFormat;
    var xmlLoader: URLLoader = new URLLoader (new URLRequest("sources.xml"));
    xmlLoader.addEventListener(Event.COMPLETE, finishedXmlLoader);
    var xmlFile:XML;
    var xextend:int = 10;
    var gal:galary = new galary ();
              gal.x = 85;
              gal.y = 165;
              addChild(gal);
    var txfe: TextField = new TextField ();
    txfe.x = 25;
    txfe.y = 45;
    var tformat:TextFormat = new TextFormat ();
    tformat.bold = true;
    tformat.color = 0xFFFFFF;
    tformat.size = "18";
    tformat.font = "Arial";
    txfe.defaultTextFormat = tformat;
    addChild(txfe);
    function finishedXmlLoader (e:Event): void{
              xmlFile = new XML (xmlLoader.data);
              var leng:int = xmlFile.image.length();
              txfe.text = xmlFile.image.details[0];
              for (var i:int = 0;i<leng;i++){
                        var b:thumbs = new thumbs ();
                        b.x = xextend;
                        b.y = 480;
                        b.buttonMode = true;
                        b.details = (i+1).toString();
                        addChild(b);
                        b.addEventListener(MouseEvent.MOUSE_OVER, theMosover);
                        b.addEventListener(MouseEvent.MOUSE_OUT, theMosout);
                        b.addEventListener(MouseEvent.CLICK, onMosClick);
                        var bloader:Loader = new Loader();
                        bloader.load(new URLRequest("thumbs/" + (i+1) + ".jpg"));
                        b.addChild(bloader);
                        xextend += b.width + 50;
    var loader:Loader = new Loader ();
    loader.load(new URLRequest ("pictures/coca1.jpg"));
    gal.addChild(loader);
    function theMosover(m:MotionEvent):void{
              m.currentTarget.alpha = 0.5;
    function theMosout (m:MouseEvent):void{
              m.currentTarget.alpha = 1.0;
    function onMosClick(m:MouseEvent):void{
              var loader:Loader = new Loader();
              loader.load(new URLRequest("pictures/" + m.currentTarget.details + ".jpg"));
              gal.addChild(loader);
              txfe.text = xmlFile.image.details[int(m.currentTarget.details) -1];
    I need an urgent help to fix the errors and make this section work well.
    thanks.

    try:
    txfe.text = xmlFile.section[int(m.currentTarget.details) -1].details;
    instead of
    txfe.text = xmlFile.image.[int(m.currentTarget.details) -1];
    and add your thumbs to gal, not the stage.  when you're done with the gallery, remove gal.

  • Dynamic photo album

    Hello.
    I am trying to create a dynamic photo album.
    private var xmlString:URLRequest;
    private var xmlLoader:URLLoader;
    private var index:int;
    private var pages:Array;
    private function init():void {
    xmlString = new URLRequest("gallery.xml");
    xmlLoader = new URLLoader(xmlString);
    index = 2;
    pages = new Array();
    xmlLoader.addEventListener(Event.COMPLETE, initData);
    private function initData(event:Event):void {
    var albumsXML:XML = XML(xmlLoader.data);
    var entries:XMLListCollection = new
    XMLListCollection(albumsXML.children());
    for (var i:int = 0; i < entries.length; i++) {
    var albumName:String =
    entries.getItemAt(i).attribute("location");
    //trace("album name: " + albumName);
    var imagesEntry:XMLListCollection = new
    XMLListCollection(entries.getItemAt(i).children());
    for (var j:int = 0; j < imagesEntry.length; j++) {
    var imageSource:String =
    imagesEntry.getItemAt(j).attribute("source");
    //trace("image source: " + imageSource);
    addPage(albumName+imageSource, index++);
    private function addPage(imageSource:String, index:int):void
    var page:PortratePage = new PortratePage();
    page.addEventListener(FlexEvent.CREATION_COMPLETE,
    onPageCreated);
    var pageAttributes:ArrayCollection = new ArrayCollection();
    pageAttributes.addItem(imageSource);
    pageAttributes.addItem(index);
    pages[page] = pageAttributes;
    trace(pages[page] + "," + pages.length);
    private function onPageCreated (event:FlexEvent):void {
    //do stuff
    XML data is loaded just fine and the addPage function gets
    called.
    In it, I initialize a new page (external PortratePage.mxml),
    but the handling onPageCreated function is never called.
    I was told that initializing mxml instances is done
    asynchronously, that's why I need to define a CREATION_COMPLETE
    event but for some reason it does not work.
    Anyone has any idea why?
    BTW: is there a way to make external mxml objects
    initialization to be synchronously?
    Thanks
    Sefi

    FlexEvent.CREATION_COMPLETE might not be dispatched unless
    PortratePage is somehow a decendant of UIComponent. Or maybe you
    could define your own event in PortratePage and dispatch it at the
    right time.

  • Dynamic Photo Gallery with Static Links

    The Dynamic Photo Gallery has a Dynamic List Menu generated from the galleries.xml file.
    I would like to load the Dynamic Galleries with a link if possible. Currently I have 3 Galleries.... China, Eqypt & Paris
    Dynamic Code:
    <select name="gallerySelect" id="gallerySelect" onchange="dsGalleries.setCurrentRowNumber(this.selectedIndex);" spry:repeatchildren="dsGalleries" spry:choose="choose">
            <option spry:when="{ds_RowNumber} == {ds_CurrentRowNumber}" selected="selected">{sitename}</option>
            <option spry:default="default">{sitename}</option>
          </select>
    I am using some code from V1 that generates a Gallery List as follows:
    <ul spry:repeatchildren="dsGalleries">
      <li><a href="#{ds_RowNumber}" onclick="dsGalleries.setCurrentRowNumber(this.href.replace(/\#/g,''));">{sitename}</a></l i>
          </ul>
    This works to display the dynamic Galleries but, the links do not connect to the specific galleries.
    Can anyone please help with this?
    Thank you,
    W Bell

    Sorry for not beeing to respond to your issue sooner, but i'm having some deadlines that needed to be worked on.
    This works to display the dynamic Galleries but, the links do not connect to the specific galleries.
    Can anyone please help with this?
    Can you resend me the url again, as i needed clear my inbox because i reached maximum amount of messages.

  • Photos loaded directly onto ipad air do not show up on PC anywhere when synced using itunes

    Photos loaded directly onto ipad air using Apple camera connection kit, do not show up on PC anywhere when synced using itunes

    They won't show in iTunes (iTunes is only used to copy photos to a device, not copy them off), but you should be able to copy them off either manually via My Computer (the iPad should show as a camera) or via windows camera wizard or windows live photo gallery depending upon your OS version.
    Copying photos : iOS: Import personal photos and videos from iOS devices to your computer

  • Dynamic photo gallery in flex

    superb post for a Dynamic photo gallery using a xml generated flex application http://flexlearner.wordpress.com/2009/09/04/dynamic-photo-gallery-in-flex/

    try:
    txfe.text = xmlFile.section[int(m.currentTarget.details) -1].details;
    instead of
    txfe.text = xmlFile.image.[int(m.currentTarget.details) -1];
    and add your thumbs to gal, not the stage.  when you're done with the gallery, remove gal.

  • Dynamic Class Loading and Unloading

    I am trying to create a system where the class name and method name is
    picked up from a meta-data database and executed.
    This was accompanied using Dynamic Class loading. I tried to extend this to
    support versioning of meta-data. Here depending on the version of meta-data
    different libraries can be loaded and different implementations of object
    with the same name can be executed. This does not seem to work with Forte
    3.0.
    When the second Library is loaded the method execution does not work.
    (Even though the unload flag on the LoadLibrary is set)
    If the application is stopped and restarted pointing to the second library
    there is no problem. In a running application a dynamically loaded library
    does not seem to unload and reload a new library for the same class names.
    Has anyone tried sometime similar, is there a workaround for this type of
    problem.
    - Vivek

    I am trying to create a system where the class name and method name is
    picked up from a meta-data database and executed.
    This was accompanied using Dynamic Class loading. I tried to extend this to
    support versioning of meta-data. Here depending on the version of meta-data
    different libraries can be loaded and different implementations of object
    with the same name can be executed. This does not seem to work with Forte
    3.0.
    When the second Library is loaded the method execution does not work.
    (Even though the unload flag on the LoadLibrary is set)
    If the application is stopped and restarted pointing to the second library
    there is no problem. In a running application a dynamically loaded library
    does not seem to unload and reload a new library for the same class names.
    Has anyone tried sometime similar, is there a workaround for this type of
    problem.
    - Vivek

  • Dynamic class loading failed, why?

    Hi there!
    We are using WebLogic 5.1 togehter with Apache1.3.22/Tomcat4.01. It all worked
    fine for about 2 month. All of a sudden, dynamic class loading refuses to work.
    From one day to the other I got the excpetion: javax.naming.CommunicationException.
    Root exception is weblogic.rmi.UnmarshalException: Unmarshalling return
    - with nested exception:
    [java.lang.ClassNotFoundException: class com.dsh.egb.aks.betrieb.ejbs.AnmeldenEJBHomeImpl_ServiceStub
    previously not found]
    Why does this happen? I can not remember having touched any properties.
    Please help,
    Heiner

    If you were relying on client network classloading stubs from WebLogic, you
    can test if it still works by pointing your browser to
    htpp://yourweblogic:7001/classes/com/dsh/egb/aks/betrieb/ejbs/AnmeldenEJBHomeImpl_ServiceStub.class
    Heiner Amthauer <[email protected]> wrote:
    Hi there!
    We are using WebLogic 5.1 togehter with Apache1.3.22/Tomcat4.01. It all worked
    fine for about 2 month. All of a sudden, dynamic class loading refuses to work.
    From one day to the other I got the excpetion: javax.naming.CommunicationException.
    Root exception is weblogic.rmi.UnmarshalException: Unmarshalling return
    - with nested exception:
    [java.lang.ClassNotFoundException: class com.dsh.egb.aks.betrieb.ejbs.AnmeldenEJBHomeImpl_ServiceStub
    previously not found]
    Why does this happen? I can not remember having touched any properties.
    Please help,
    Heiner--
    Dimitri

  • Dynamic class loading in J2ME

    Hi all,
    Couple of questions. Is dynamic class loading using classloaders supported in any, if not all versions of J2ME? I guess I should ask first, what exactly does J2ME cover? I see KVM, but do watches and PDA's, set top boxes, refrigerators and so forth all run the same J2ME JVM? Or are their "less feature full" versions? I was hoping the J2ME spec would be the "lowest common denominator" to program for, but I thought I read somewhere that small devices like watches may even have a "smaller" J2ME JVM or something, less capable. So can I write code for J2ME and it will run on all small devices like cell phones, pda's, and so forth? Or is there another J2ME version, perhaps small than J2ME.
    So, from what I have found so far, it appears dynamic class loading is done at startup from a DB (of sorts) as opposed to being able to dynamically find/load classes. If this is so, is there any way to support downloading and reloading new classes like you can with J2SE, such as the hot-swap feature of web servers? Does Class.forName() at least work in that you can "replace" a class with a new version, even if it is not able to have a separate classloader instance? My guess is that J2ME supports only a single classloader space, but I thought I read somewhere that Class.forName() is available. J2ME API shows it I believe, but I could be wrong.
    Any help on this topic would be appreciated.
    Thanks.

    Dynamic class loading is not available in most (if not all) J2ME profiles and configurations. Class.forName() is available (at least in the MID profile), but not to be used for dynamic class loading. It can be used when using device-specific APIs where you can try to load a class containing device specific methods (for example a class that works only on certain Nokia phones, and has methods playSound() and vibrate(), which are not available in MIDP), and if you catch a ClassNotFound exception you can load a class that doesn't use the device specific APIs and contains stubs of the methods, or you can disable certain features in you application that need those features. For an example implementation you can have a look at Nokia's Block Game example (available from their developer site - http://www.forum.nokia.com/main.html).
    As for your other more general questions about different JVM's and such, you should read all about the different configurations and profiles available in J2ME (plenty of information using in the J2ME link on this site).

  • Dynamic class loading when CODEBASE is unreachable. A bug?

    Let us suppose that we have a large-scale distributed application with ca. 1000 participants communicating via RMI and utilizing dynamic class loading. As we all know, a HTTP code server must be available for this purpose in order to provide dynamically downloaded code, usually the communication proxy code of remote objects. In a real-world scenario, the HTTP server will never be 100% available, so that we will have cases that a Java process will not be able to download the necessary Java classes, causing the RMI communication to fail with a ClassNotFoundException or similar exception. In such a case, a robust application would perform some recovery activities and retry the remote call. Eventually, the HTTP server becomes available again and the distributed system recovers automatically. This seems to work fine with J2SE 1.4.2_10, but not with 1.4.2_11 and newer versions. Considering Java 5, the Update 9 exhibits the same problem.
    For tracking down the problem, I've written a simple distributed test application, consisting of a client and a server. A server listens on a port, and sends a MarshalledObject to the client. The code of the MarshalledObject is annotated with the value of the "java.rmi.server.codebase" system property. The annotation contains an URL of the JAR file containing the code of the original object. The client connects to the server, reads data form the socket and unmarshalls the original object. This is basically the same procedure as when objects are accross the wire as arguments/return values/exceptions by the RMI/JRMP engine. This procedure is repeated forever in the loop. Due to the fact that the client's CLASSPATH doesn't contain the code of the original object, this code should dynamically be loaded from the HTTP server using the appropriate annotation provided by the server.
    If we start the client while the HTTP server is down, the client will keep generating the ClassNotFoundException over and over again, as expected. So far, so good. If we now start the HTTP server while the client is still running, we will observe different behaviors, depending on the version of the client's JVM:
    1. In J2SE 1.4.2_10, the client will download the code from the HTTP server and successfully unmarshal the original object sent by the server. ClassNotFoundExceptions will not be generated again.
    2. In J2SE 1.4.2_11, 1.4.2_12 and 1.4.2_13 as well as in J2SE 5.0 Update 9, the client will continue generating ClassNotFoundExceptions. Analysis of the HTTP server's access log shows that there were no attempts to download the JAR file required for unmarshaling the object sent by the server.
    It seems that in the newer JVM versions the RMI engine remembers URLs which have failed and does not attempt to access them anymore. Althogh this may have some advantages considering the overall network load, the dynamical class loading becomes practically useless in productive large distributed systems. The very first attempt to load the codebase of the communication peer must succeed, otherwise the whole process must be restarted for the communication to work, which is a very expensive (and for most customers unacceptable) operation in terms of preformance and resources usage.
    Should this be seen as a bug or a feature of the JVM? What do you think?
    Regards,
    Miran
    Here is the code to reproduce:
    Server code
    package server;
    import java.net.*;
    import java.rmi.*;
    import java.io.*;
    public class Server implements Serializable {
      private int value = 42;
      public Server() {
      public String toString() {
        return "The Answer is " + value;
      public static void main( String[] args ) {
        if( args.length!=1 ) {
          System.out.println( "Usage: server.Server <port>" );
          System.exit( 1 );
        try {
          MarshalledObject data = new MarshalledObject( new Server() );
          int port = Integer.parseInt( args[0] );
          ServerSocket serverSocket = new ServerSocket( port );
          System.out.println( "Accepting connections..." );
          while( true ) {
            Socket s = serverSocket.accept();
            new Thread( new SocketHandler( s, data ) ).start();
        } catch( Exception ex ) {
          ex.printStackTrace();
        System.exit( 0 );
      public static class SocketHandler implements Runnable {
        private Socket s;
        private Serializable data;
        public SocketHandler( Socket s, Serializable data ) {
          this.s = s;
          this.data = data;
        public void run() {
          try {
            OutputStream os = s.getOutputStream();
            ObjectOutputStream oos = new ObjectOutputStream( os );
            oos.writeObject( data );
            oos.close();
            os.close();
            s.close();
            System.out.println( "Serving socket succeeded" );
          } catch( Exception ex ) {
            System.out.println( "Serving socket failed" );
            ex.printStackTrace();
    Client code
    package client;
    import java.rmi.*;
    import java.net.*;
    import java.io.*;
    public class Client {
      public static void main( String[] args ) {
        if( args.length!=1 ) {
          System.out.println( "Usage: client.Client <port>" );
          System.exit( 1 );
        try {
          if( System.getSecurityManager()==null ) {
            System.setSecurityManager( new RMISecurityManager() );
          int port = Integer.parseInt( args[0] );
          for( int i = 1; true; ++i ) {
            try {
              Socket s = new Socket( "localhost", port );
              InputStream is = s.getInputStream();
              ObjectInputStream ois = new ObjectInputStream( is );
              Object o = ois.readObject();
              ois.close();
              is.close();
              s.close();
              Object umo = ((MarshalledObject) o).get();
              System.out.println( i + ". Retreiving MarshalledObject succeeded: "
                                  + umo );
            } catch( Exception ex ) {
              System.out.println( i + ". Retreiving MarshalledObject failed" );
              ex.printStackTrace();
            System.out.println( i + ". Waiting for 10 sec" );
            Thread.sleep( 10000 );
        } catch( Exception ex ) {
          ex.printStackTrace();
        System.exit( 0 );
    Start command for the server
    java -cp server.jar -Djava.rmi.server.codebase="http://localhost/playground/server.jar" server.Server 33933
    Start command for the client
    java -cp client.jar -Djava.security.policy=all.policy client.Client 33933
    The policy.all file should look as follows
    // All permissions
    grant {
       permission java.security.AllPermission;
    };The server.jar file should only contain the classes from the server package. This file should also be made accessible via HTTP (e.g. by using the Apache HTTP server).
    The client.jar file should only contain the classes from the client package.

    no body know about this??

  • Dynamic Class Loading and Stubs

    How Dynamic Class Loading is used on Java RMI, since stubs are generated on clients using Reflection API?
    I was reading Dynamic code downloading using JavaTM RMI (http://java.sun.com/javase/6/docs/technotes/guides/rmi/codebase.html), it seems to be out of date.
    For example, "The client requests the class definition from the codebase. The codebase the client uses is the URL that was annotated to the stub instance when the stub class was loaded by the registry. Back in step 1, the annotated stub for the exported object was then registered with the Java RMI registry bound to a name."

    "Enhancements in J2SETM 5.0
    Dynamic Generation of Stub Classes
    This release adds support for the dynamic generation of stub classes at runtime, obviating the need to use the Java(tm) Remote Method Invocation (Java RMI) stub compiler, rmic, to pregenerate stub classes for remote objects. *Note that rmic must still be used to pregenerate stub classes for remote objects that need to support clients running on _earlier versions_.*
    When an application exports a remote object (using the constructors or static exportObject methods(1) of the classes java.rmi.server.UnicastRemoteObject or java.rmi.activation.Activatable) and a pregenerated stub class for the remote object's class cannot be loaded, the remote object's stub will be a java.lang.reflect.Proxy instance (whose class is dynamically generated) with a java.rmi.server.RemoteObjectInvocationHandler as its invocation handler.
    An existing application can be deployed to use dynamically generated stub classes unconditionally (that is, whether or not pregenerated stub classes exist) by setting the system property java.rmi.server.ignoreStubClasses to "true". If this property is set to "true", pregenerated stub classes are never used.
    Notes:
    * If a remote object has pre-5.0 clients, that remote object should use a stub class pregenerated with rmic or the client will get an ClassNotFoundException deserializing the remote object's stub. Pre-5.0 clients will not be able to load an instance of a dynamically generated stub class, because such a class contains an instance of RemoteObjectInvocationHandler, which was not available prior to this release.
    * Prior to the J2SE 5.0 release, exporting a remote object would throw a java.rmi.StubNotFoundException if the pregenerated stub class for the remote object's class could not be loaded. With the added support for dynamically generated stub classes, exporting a remote object that has no pregenerated stub class will silently succeed instead. A user deploying a server application to support pre-5.0 clients must still make sure to pregenerate stub classes for the server's remote object classes, even though missing stub classes are no longer reported at export time. Such errors will instead be reported to a pre-5.0 client when it deserializes a dynamically generated stub class.
    (1) The static method UnicastRemoteObject.exportObject(Remote) is declared to return java.rmi.server.RemoteStub and therefore cannot be used to export a remote object to use a dynamically generated stub class for its stub. An instance of a dynamically generated stub class is a java.lang.reflect.Proxy instance which is not assignable to RemoteStub."
    http://java.sun.com/j2se/1.5.0/docs/guide/rmi/relnotes.html

  • Dynamic Class Loading with interface

    Hello
    I would appreciate any help on the following problem.
    I need to load all classes in a particular directory and its subdirectories (top directory is known but not in the classpath) which implement a predefined interface. At the moment I am using a lot of reflection to accomplish this and believe it can be avoided somehow using the fact that I know these classes have to implement a predefined interface.
    At the moment, I am searching through the directory and subdirectory, loading all names of classes into a vector using a custom URLClassloader, and then load all classes in the vector into modulecontainers to populate a defaultmutabletree which is displayed on the gui.
    I'm sure that knowing the interface means there's a more straightforward way.
    Thanks in advance.

    Finally i've found out myself, i've read some postings in this forum and put them all together, so that my webstart-application finally works the way i want...
    That was the topic:
    Downloading a jar-file and starting a class from this jar-file within a webstart application (dynamic class loading).
    I'll post my final solution for this problem, may be it would be useful in future for anyone else.
    //grant all permissions on the clientside
    Policy.setPolicy( new Policy() {
    public PermissionCollection getPermissions(CodeSource codesource) {
    Permissions perms = new Permissions();
    perms.add(new AllPermission());
    return(perms);
    public void refresh(){
    //get the current classloader
    ClassLoader cl = MyLoadedClass.class.getClassLoader();
    //create a new url-classloader while using the current classloader
    URL[] urls = new URL[1];
    File f = new File(new String(jarName));
    urls[0] = f.toURL();
    URLClassLoader ul = new URLClassLoader(urls, cl);
    //load a class from jarfile
    Class c = ul.loadClass(new String(className));
    //get an object from loaded class
    Object o = c.newInstance();
    /* Are we using a class we specifically know about? */
    if (o instanceof KnownInterface){
    // Yep, lets call a method we know about. */
    KnownInterface client = (KnownInterface) o;
    client.doAnything();

  • Dynamic class loading with Webstart

    Hello !
    //within the jar-file at the webstart-directory
    public interface MyFrame{
    public void createFrame();
    //within the jar-file dynamically downloaded
    public class MyExtFrame extends JFrame implements MyFrame{
    String className = "MyExtFrame";
    ClassLoader cl = ClassLoader.getSystemClassLoader();
    JarClassLoader jarLoader = new JarClassLoader (cl, jarFile));
    /* Load the class from the jar file and resolve it. */
    Class c = jarLoader.loadClass (className, true);
    /* Create an instance of the class.
    Object o = c.newInstance();
    /* Are we using a class we specifically know about? */
    if (o instanceof MyFrame){
    // Yep, lets call a method we know about. */
    MyFrame client=(MyFrame) o;
    //call a class-method (here creates the whole gui-object at once)
    client.createFrame();
    This is the code i'm using and i've encountered following problem, if i put this code into an application without webstart, anything works fine, but with webstart i'll get a: java.lang.NoClassDefFoundError
    Then i've put the MyFrame-classes into the downloaded jar-file, but this won't work either, i'll get a ClassCastException.
    What do i have to do, to become it working ?
    Thanks for any conclusions and help.
    Michael

    Finally i've found out myself, i've read some postings in this forum and put them all together, so that my webstart-application finally works the way i want...
    That was the topic:
    Downloading a jar-file and starting a class from this jar-file within a webstart application (dynamic class loading).
    I'll post my final solution for this problem, may be it would be useful in future for anyone else.
    //grant all permissions on the clientside
    Policy.setPolicy( new Policy() {
    public PermissionCollection getPermissions(CodeSource codesource) {
    Permissions perms = new Permissions();
    perms.add(new AllPermission());
    return(perms);
    public void refresh(){
    //get the current classloader
    ClassLoader cl = MyLoadedClass.class.getClassLoader();
    //create a new url-classloader while using the current classloader
    URL[] urls = new URL[1];
    File f = new File(new String(jarName));
    urls[0] = f.toURL();
    URLClassLoader ul = new URLClassLoader(urls, cl);
    //load a class from jarfile
    Class c = ul.loadClass(new String(className));
    //get an object from loaded class
    Object o = c.newInstance();
    /* Are we using a class we specifically know about? */
    if (o instanceof KnownInterface){
    // Yep, lets call a method we know about. */
    KnownInterface client = (KnownInterface) o;
    client.doAnything();

  • Dynamic class loading from String name

    Hello all,
    I have a question for dynamic class loading:
    If I have a String variable that represents a class name, how can i use it to make dynamically an object of the class tha the string variable represents?
    For example i have a string like this
    String classname="String";
    Using this i want to make a new String object .
    Can anyone tell me how can i do this(example plz)?

    I have worked out the code and this works fine:
    import java.lang.*;
    class dynamictestname{
         public dynamictestname() {
        public static Class test(String objname){
             try{
             Class theClass = Class.forName(objname);
                 return theClass;
            } catch (ClassNotFoundException e)
                throw new NoClassDefFoundError (e.getMessage());
         public static void main (String [] args){
              String classname="java.lang.String";
              Class thisClass=dynamictestname.test(classname);
              try{
              Object instance = thisClass.newInstance();
              }catch(InstantiationException e){
              }catch(IllegalAccessException ie){
    }The new problem i 've faced is that i can't instatiate a new object by the class i have created.I saw some examples with use of the java.lang.reflect but this class i used with user created classes which have methods that the user wants to run dynamically.
    I just want to make an object from the class and give it a value.
    For example if the object i have created with the
    Object instance = thisClass.newInstance();is an object of java.lang.String class
    how can i do something like this below dynamically from instance object :
    String x="TEST ";
    Thanks for the help..

  • Show device and media in Photo-loader, Iphoto, Preview

    Hello,
    I'm new to the " mac World" and I can say I'm very excited about my new imac with snow leopard on it !
    Have however one small problem (??)
    Fact is that, if I connect either a digital Camera, a Camcorder or just a SD card using the external card reader, it takes a long time (approx. a minute and a half) before Iphoto, or photo-loader or preview show the connected device. (In photo-loader it takes another minute before the media is shown)
    The device shows on the desktop instantly after connection, problem is only in photo-loader, Preview and/or iphoto.
    Resolution etc doesn't effect the time, tried it already with lower picture resolution. It seems to be the recognition of the devices thats very slow.
    Is this normal behavior or is there something wrong ?
    Anyone experience the same ??
    Thanks !
    Gr. Franz

    Hi Franz & welcome to the forums.
    It seems to be the recognition of the devices thats very slow.
    All I can tell you is that the common denominator with those sources is apparently USB, which is typically the slowest bus on your computer.
    Not sure what you can do except to try to use at least USB2 devices. All it takes is one older USB 1 type device on the bus to slow things down. How old is your digital camera? Card reader? Camcorder? USB camcorders are usually quite slow for file transfers, in my experience.
    For me, the delay seems minimal. I can however, imagine it taking as long as you quote if the number of images is considerable, in which case your example would seem typical.

Maybe you are looking for

  • What's wrong with the ThresholdPeakDetector function in Meas. Studio v6.0

    The function doesn't seem to return any values, regardless of the input array or the threshold vaule (even 0 gets no results)

  • Error using rman with cumulative backup

    Hi, Can anyone help? Current system configuration : Oracle 8.0.4 & Veritas Netbackup. Encounter error when allocate 2 channel for cumulative backup using rman. Using a single channel works fine. RMAN-08010: channel t1: including datafile 1 in backups

  • [svn] 4285: Exposed TLF' s new textJustify property on ParagraphElement as a CSS style for Gumbo components .

    Revision: 4285 Author: [email protected] Date: 2008-12-10 16:08:28 -0800 (Wed, 10 Dec 2008) Log Message: Exposed TLF's new textJustify property on ParagraphElement as a CSS style for Gumbo components. It works with TextBox, TextGraphic, TextView, and

  • The context menu does not work

    Hello Everyone, I have a problem when I try to use  the context menu. Just it does not work using control key and click, for example when I select a folder and I want to apply a color for the folder the context menu does not work. Thank you if anyone

  • Playback bug?

    I've submitted the following via feedback, but I figured I'd let this be known to see if it's reproducable: I guess I've encountered a bug that occurs when you replace a [partial] audio track with a longer version of another. For example, if you have