Distributed JMS based logging .. falling flat?

In our fancy ESB, logging of each request is done via a common infrastructure based on JMS based logging. Here is what happens in a nutshell:
service gets a request service
prepares some data in a LogData
object service calls database
time taken for db interaction is captured in LogData object
service is ready to send response
LogData object is sent to a messaging destination
service sends response
Very rosey! yes for paper architects. Here is the actual issue: The JMS service provider sometimes becomes unavailable - due to a system level error or the software crashes. Then the service waits at the step (step no. 6) where it has to make JMS connection to send LogData object. Resulting in delayed response, thus leading to bad performance and user experience.
So that is the biggest shortcoming of "Distributed logging using JMS" touted by a lot of developer websites. Also note that the presance of LogData is kind of critical non-functional requirement. That means the messages are sent in persistent mode, leading to a wait until the JMS provider confirms receipt of message to the sender (the service in this case) - what to be blamed? immature design? Are there any success stories of implementing something like this?

user13559021 wrote:
In our fancy ESB, logging of each request is done via a common infrastructure based on JMS based logging. Here is what happens in a nutshell:
service gets a request service
prepares some data in a LogData
object service calls database
time taken for db interaction is captured in LogData object
service is ready to send response
LogData object is sent to a messaging destination
service sends response
Very rosey! yes for paper architects. Here is the actual issue: The JMS service provider sometimes becomes unavailable - due to a system level error or the software crashes. Then the service waits at the step (step no. 6) where it has to make JMS connection to send LogData object. Resulting in delayed response, thus leading to bad performance and user experience.
So that is the biggest shortcoming of "Distributed logging using JMS" touted by a lot of developer websites. Also note that the presance of LogData is kind of critical non-functional requirement. That means the messages are sent in persistent mode, leading to a wait until the JMS provider confirms receipt of message to the sender (the service in this case) - what to be blamed? immature design? Are there any success stories of implementing something like this?I don't understand what this has to do with JMS.
You can substitute 'database', 'web service' or 'jboss' (as examples) in the above and change nothing.
If you have a remote server that is a required part of your processing system in a 24x7 system then you must come to some understanding of both what is allowed when the service is not available at all and what is allowed when there are intermittent outages.
The first must be considered because something like a router going done can take quite a while to diagnose and replace.
Besides the solution noted above I have also implemented a solution that cause my service to stop accepting any transactions at all if the secondary processors cannot respond in a timely manner. The reasoning there is that in planned for volume scenarios it is possible for several thousand transactions to be backed up even in the best circumstances in a couple of seconds, thus taking more in could result in a large number of failures.
Additionally back end systems might run via a load balancer. That however can still have failure scenarios, again for example when a router goes out, or when one balanced server accepts a connection but fails to process it.

Similar Messages

  • Is JMS based solution the right one?

    Hello,
    I'm doing some research on possible solutions to a process that is currently being completed semi manually and semi automated. The process itself consists of feeding several thousand ID numbers to a legacy C++ application, which in turn, after some processing of its own, sends more data to an external system. It is automated in that there is a batch file that kicks off the C++ application. The C++ application opens up a text file, reads an ID number and then processes it. It repeats this for as many IDs as there are in the text file. However, it is manual in that there are several text files, broken up into 500 IDs per file (which we create), that are sent over several weeks. The reason for this is a limitation in the external system that we have no control over. Its 500 IDs per day, no questions asked. Because of this limitation, we have to go in and run the batch file for each of those text files. In addition, we have to monitor as each text file is processed in case of a failure. If a failure occurs, we have to go into the text file, delete all of the IDs that were successfully processed, and then run the batch process again.
    At any rate, as much as we would like to, we are unable to rip the current system out and replace it all together. The legacy C++ component must remain intact. I am looking at possibly modifying the C++ application to pick up the ID numbers from an external application--instead of a text file--that keeps count of the number of IDs processed in a given day. I'd like to continue logging error messages, but instead of crapping out the entire process, I'd like for them to be ignored and for the process to continue until the 500 ID threshhold is reached for the day. I'm not too familiar with JMS technology, but from what I have read a JMS based external application may be a good candidate, but I'm thinking it may be overkill. I do like the fact that it is reliable, loosely coupled, and it's asynchronous. So I guess my question is if a JMS based application is the right solution for this problem? Or is it overkill?
    Thanks in advance for the assistance.

    hi java esse,
    i think you can acomplish your goals through using JMS.
    BUT if you just do this "simple" task with it i would not do it since it takes some time to get used to handling the JMS servers etc.
    if you consider your actual refactoring just as a starting point for many applications, and more to come this use case could be a good one.
    in general my only technical fear for this scenario would be that you might store some messages a reallly really long time maybe some weeks since your limit is 500 / day. this might be a porblem when you put some other applications on the JMS broker that have really high throughput.
    is it 500 successfull a day or 500 tries a day?
    regards chris

  • Distributed JMS Queues and Port Information

    Hello,
              I am a reasonably inexperience WebLogic user, so forgive my ignorance.
              We are setting up a distributed JMS queue as a destination for messages being sent from our EAI server. The distribution will be across 2 servers in our QA environment and 3 servers in our production. We are using WebLogic Server 8.1.3 on an Windows 2003 environment.
              The people in our EAI environment need a port number on for the Queue in order to forward their messages to us. My question's are:
              1) Is the listen port for the Distributed Queue the same as the listen port for the Admin Server?
              2) If it is not, does it correspond to the listen port for the individual queues (which is the same between our environments)?
              3) If there is a third port in play, how does this get configured and where do I retreive this information?
              I appreciate any answers people are willing to give me on the issue.
              Thank you,
              Steven Enk
              Harley-Davidson Motor Company

    Hi Steven,
              WebLogic JMS shares the same WebLogic port as other WebLogic services, regardless of whether or not the destinations are distributed.
              One way to determine which ports are configured for a particular WebLogic server is to look at the log for that server.
              Ports are usually configured to support multiple protocols, and typically, one uses the "t3" protocol for URLs (its the highest performer), but there are other options (such as "http" for tunneling).
              You can configure additional ports (beyond the "default" port(s)) using the "channel" feature - i think you can find channels under the "WebLogic server" tabs on the console.
              For a server or client to establish communication with a remote cluster, one need only specify a URL for any one of the server's within the remote cluster. J2EE JNDI name location transparancy and WebLogic RMI load balancing will usually take care of the rest, although some customers setup DNS to help with load balancing (by for example, configuing their DNS "round-robin" addresses).
              Best practice is for the administrative server to be restricted to administrative purposes only. This means the admin server typically (A) doesn't host JMS (or any other services or any applications) and (B) is not a member of a cluster. So typically you won't be able to access JMS using an admin server's URL.
              Tom

  • Text fall flat on the ground AE CS6

    Hey guys,
    I want to creat this text animation, make the text fall flat on the ground and when it reaches the ground to kinda see the dust spreading around it.
    Anyone could help?
    Thank you,
    LMartins

    You would simply animate the text layer by whatever means (keyframes, simulation plug-ins like Newton) and then create the dust puffs using stock footage, particle systems or whatever, placed and keyframed to match the timing. anyway, simply watch some tutorials. Video CoPilot has all sorts of such stuff and I'm sure you can find enough otehr tutorials based on the quick keywords i gave you.
    Mylenium

  • When we should use JMS based proxy services and when JMS Adapter in OSB

    Hi,
    Can somebody explain me when we could go for JMS Adapter and when we should go for JMS based service in OSB?
    The one scenerio i can think of is when my provider/consumer is using jms provider other than WLS jms provider we should use jms adapter.
    Edited by: user12883209 on Jan 5, 2012 5:29 AM

    I don't think there are clear guidelines available, however here is my view.
    1) OSB 11gR1 is not certified with Oracle JMS Adapter. It is certified with Oracle FTP, Database, AQ and application adapters.
    http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/interop.htm#OSBAG1403
    2) In addition of the Weblogic JMS, OSB can also integrate with following provider without using adapter.
    - WebSphere MQ
    - Tibco EMS
    3) if you need to integrate JMS with BPEL Process or Oracle SOA suite composite, it has built in support for generic Oracle JMS adapter. Oracle generic JMS adapter can integrate with AQ JMS (JMS providers OJMS 8.1.7, 9.0.1.4, and 9.2), TIBCO JMS, IBM Websphere MQSeries (IBM MQSeries JMS 6.0), Weblogic JMS, Apache, and Active MQ
    http://docs.oracle.com/cd/E14571_01/integration.1111/e10231/adptr_jms.htm
    4) If you need to integrate OSB with Weblogic JMS, WebSphere MQ, Tbco EMS it does not need JMS adapter.
    Hope this helps !!!
    Jayesh Patel
    http://jayesh-patel.blogspot.com/
    http://www.yagnasys.com/

  • Cron-based log rotation problem

    In setting up Sun Web Server 6.1 2005Q4 SP5, I successfully restarted schedulerd after setting up cron-based log rotation for 12 AM for each Web instance. But still no rotated logs. I notice these messages in /app/sunone/https-admserv/logs/scheduler.error:
    Tue Mar 14 00:00:00 2006: Warning: cron has no information about finished child process 11303
    Tue Mar 14 23:00:03 2006: Warning: Process 11303 didn't finish in time, had to terminate it
    Any ideas?
    Thanks!

    This bug is addressed in SunSolve:
    Document ID:     4953147
    Title:     cron based log rotation fails when admin user is root and instance is non-root
    The workaround is to update this line in WS_ROOT/https-admserv/config/scheduler.conf:
        User <non-root user ID such as "nobody">to:
        User rootThen I restarted cron from the Server Manager to make sure the change was picked up.

  • ORA-02048: attempt to begin distributed transaction without logging on

    Hello,
    I've got the error:
    ORA-02048: attempt to begin distributed transaction without logging on
    When calling OCITransStart
    (The XID of the transaction to start is:
    formatID = 11101, gtrid = 123, bqual = 1
    I've already run several queries before trying to call
    OCITransStart and the queries are successfull.
    Could anyone help please ?
    I'm running Oracle 10g on Linux.
    Thanks a lot
    Laurent Marzullo

    I believe this is the error you see if the client database name is not set prior to calling OCISessionBegin. To set the client database name, use OCIAttrSet on the server handle with the OCI_ATTR_EXTERNAL_NAME and OCI_ATTR_INTERNAL_NAME attributes.
    These attributes are discussed in chapter 8 of the OCI Programmer's Guide in the section "OCI Support for Transactions".

  • Time-based log rotation in Access Manager

    Hi,
    We have configured Access Manager for size-based log rotation. So the log files undergo rotation whenever the log files reach the size limit specified.
    But I would like to know if the Access Manager Logging module provides options for:
    Time-based Log Rotation : so that log files get rotated on a periodic basis.
    Log File Name Customization: At present the old log files get suffixed with -n (e.g. amPolicy.access-1), where 'n' denotes the number in the rotation sequence . Is it possible to configure Access Manager to generate a timestamp as a suffix for old log files.
    e.g. amPolicy.access-05_29_2005.
    Regards,
    Chetan Desai

    The AM admin guide (ftp://docs-pdf.sun.com/817-7647/817-7647.pdf) page 335 has listed all available Logging attribute. It doesn't have the time based parameter and time stamp suffix. If you wish to have those features, please contact Sun Identity sales for filing a RFE. Also checking Logging API and see whether you can program yourself to achieve those features. (see page 47 of 817-7650.pdf) Jerry

  • Creating a secured DISTRIBUTED JMS topic.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

  • Distribute JMS Queues and ConnectionFactories

    Hi,
              Iam using Queues with filestore as persistence type. The Queues ,Conextion Factories are configured on Server A and Server B . Both are on different IP's. The MDB's are deployed on both the servers.
              When a message is send from Server A to Server B the MDB listening on server B is not pickingup that message.
              I configured the queues as normal queues. Is there any attribute needs to set for the Queues or connectionfactories to share the session between servers. I have the same JNDI names for the Queues and ConnectionFactories.
              Highly appriciate if anyone can tell me the solution.
              Regards
              Manikyala
              

    Hi,
              I have lots of questions:
              Where is sent message going? Can you check statistics to
              confirm that the message was successfully sent to the
              desired queue?
              Is MDB B may not be deploying and then connecting to JMS
              successfully? (A successful deployment doesn't mean
              that the MDB is connected.) Check your server logs for
              Warning/Error messages.
              Are you using the distributed destination feature?
              Are the two servers in the same cluster?
              Did you make sure that:
              All JMS servers, WL servers, and WL JMS stores
              are named differently?
              Tom
              Manikyala wrote:
              > Hi,
              >
              > Iam using Queues with filestore as persistence type. The Queues ,Conextion Factories are configured on Server A and Server B . Both are on different IP's. The MDB's are deployed on both the servers.
              >
              > When a message is send from Server A to Server B the MDB listening on server B is not pickingup that message.
              >
              > I configured the queues as normal queues. Is there any attribute needs to set for the Queues or connectionfactories to share the session between servers. I have the same JNDI names for the Queues and ConnectionFactories.
              >
              > Highly appriciate if anyone can tell me the solution.
              >
              > Regards
              >
              > Manikyala
              

  • Problems using distributed JMS topic

              I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
              with two managed servers in a cluster. I created a new distributed topic using
              the console, and used auto deploy to target the distributed topic to the cluster
              and create members on both servers. I deployed three message-driven EJBs (listening
              on the distributed topic) to both servers.
              After initial deployment, the topic works as expected - I post a message to the
              distributed topic, and it is received by all six EJBs. When I re-start the system
              (both managed servers and the admin server), however, the results are different.
              When I post a message to the distributed topic, it is only received by the three
              EJBs on the first server (the log shows that all EJBs have deployed successfully).
              Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
              Alive" as false, while the others are true.
              Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
              there are three consumers listed when there should be six.
              If remove and re-create the member topics, or the distributed topic, exceptions
              appear in the log saying that one or both of the member topics are "suspended".
              Is there additional configuration that needs to be done for this scenario? Are
              there any known problems related to distributed topics?
              Thanks,
              Richard
              

    Hi Richard,
              There are no 8.1SP1 problems that I know of.
              Check your logs for Warnings and Errors - distributed topics
              members often log an explanatory message
              when they fail to contact their fellow members.
              Also make sure that you have configured so that
              the following are true:
              All WL servers are named differently.
              All JMS servers are named differently.
              All JMS stores are named differently.
              All distributed topic members within a distributed topic are named
              differently.
              Also make sure that your cluster is coming up
              properly in the first place. If you have
              trouble doing so, you can post
              to the clustering newsgroups for info.
              Tom
              Richard Killen wrote:
              > I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
              > with two managed servers in a cluster. I created a new distributed topic using
              > the console, and used auto deploy to target the distributed topic to the cluster
              > and create members on both servers. I deployed three message-driven EJBs (listening
              > on the distributed topic) to both servers.
              >
              > After initial deployment, the topic works as expected - I post a message to the
              > distributed topic, and it is received by all six EJBs. When I re-start the system
              > (both managed servers and the admin server), however, the results are different.
              > When I post a message to the distributed topic, it is only received by the three
              > EJBs on the first server (the log shows that all EJBs have deployed successfully).
              >
              > Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
              > Alive" as false, while the others are true.
              >
              > Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
              > there are three consumers listed when there should be six.
              >
              > If remove and re-create the member topics, or the distributed topic, exceptions
              > appear in the log saying that one or both of the member topics are "suspended".
              >
              > Is there additional configuration that needs to be done for this scenario? Are
              > there any known problems related to distributed topics?
              >
              > Thanks,
              > Richard
              >
              

  • Populating the Lookup values in AD Child Form based logged in user

    HI,
    Below is the Lookup code(AD Groups) format.
    Codekey , Decodekey
    IT-Development , IT-Development
    IT-Testing , IT-Testing
    IT-Production , IT-Production
    HR-system , HR-system
    HR-Finance , HR-Finance
    My requirement is I need to filter the data being presented in the lookup according to the logged in user in ad child form,
    If i am logged in as xelsysadm the lookup presents all groups.
    If i am logged in as IT administroter the lookup presents only the IT Related groups(EX:IT-Development,IT-Testing....).
    If i am logged in as HR administroter the lookup presents only the HR Related groups(EX:HR-System,HR-Finance...).
    like this we have contains so many administrators.
    We are desiding the administrators based on user form field.
    The Field contains the value like HR-Related,IT-Information Technology.....
    How can i achive this?
    Thanks in advance.
    Edited by: 790561 on 4/12/2011 17:48
    Edited by: 790561 on 5/12/2011 12:02

    Hi Rajiv,
    Thank you for quick reply,
    When i am login as IT administrator and i provisioned user to AD it showing the IT Related groups in ad child form based on your Suggestion.
    If i logout and login as a HR administrator and i edit the child process form of the same user still its showing IT Related Groups only.If I revoke and provision user to ad again with HR administrator this time its showing HR Related groups in AD Child form.
    I think based on the requester its showing the values.
    But i want to filter groups based on logged in user.
    EX:If i login as IT administrator and provision the user to AD in Child form its showing the IT Related groups only its correct.
    If I logout and login as HR administrator and i edit the same user AD Child form its showing the IT related groups only its not correct.this time it shows only HR Related.
    Any solution....
    Thanks in advance.

  • File Based logging: Control file name based on calling service

    In the file logging, I need to change the "Prefix" and "Suffix" that I can type in, from page "FILE Transport Configuration" while creating
    business service with transfort: File. I need to be able to supply these values for the file name from proxy service activity.
    I am creating as logging proxy service which will be called from all the other proxy services. I am planning to use logging to File System based on
    BS for achieving this. I need to be able to create a new file with name that corresponds to the calling service. How can I achieve this?
    Also this service should be able to turn logging on or off based on the calling service. I should be able to turn off the logging completely or
    turn off the logging only for few services.
    What is the best way to achieve this?

    HI
    That means your file name would be decided at run time . so u can use adapter specific mesage attributes in ur communication channel
    please refer tto the same here
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Dynamic File Name Part 1
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    Dynamic File Name Part 2
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii

  • Lack of information in JMS based notification message

    Hello,
    I have configured Watch for server log and related JMS Message Notification.
    However, I get only a text like "MapMessage[ID:<589306.1276727319522.0>]" in the JMS message text.
    How can I get the original log message by that ID or the JMS message's text can be extended with content WatchData attribute?
    Very appreciate any help or direction to place where I can read about it.
    Thanks,
    Yuriy

    I have figured out what is going on.
    WLDF notification is written to JMS in the format that WLS Administrative Console can not read it.
    However, when I export message to XML I can see all information that I need:
    <?xml version="1.0" encoding="UTF-8"?>
    <JMSMessageExport>
    <mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message">
    <mes:Header>
    <mes:JMSMessageID>ID:&lt;589306.1276788240914.0></mes:JMSMessageID>
    <mes:JMSDeliveryMode>PERSISTENT</mes:JMSDeliveryMode>
    <mes:JMSExpiration>0</mes:JMSExpiration>
    <mes:JMSPriority>4</mes:JMSPriority>
    <mes:JMSRedelivered>false</mes:JMSRedelivered>
    <mes:JMSTimestamp>1276788240914</mes:JMSTimestamp>
    <mes:Properties>
    <mes:property name="JMSXDeliveryCount">
    <mes:Int>0</mes:Int>
    </mes:property>
    </mes:Properties>
    </mes:Header>
    <mes:Body>
    <mes:Map>
    <mes:name-value name="WatchAlarmResetPeriod">
    <mes:String>60000</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchSeverityLevel">
    <mes:String>Notice</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchRule">
    <mes:String>(SUBSYSTEM = 'ousgg.valves')</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchDomainName">
    <mes:String>my_domain</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchData">
    <mes:String>DATE = Jun 17, 2010 11:24:00 AM EDT SERVER = AdminServer MESSAGE = Invalid record ...</mes:String>
    </mes:name-value>
    <mes:name-value name="JMSNotificationName">
    <mes:String>OUSGG-FileValves-Fail-JMS</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchAlarmType">
    <mes:String>None</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchRuleType">
    <mes:String>Log</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchName">
    <mes:String>OUSGG-FileValves</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchServerName">
    <mes:String>AdminServer</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchTime">
    <mes:String>Jun 17, 2010 11:24:00 AM EDT</mes:String>
    </mes:name-value>
    </mes:Map>
    </mes:Body>
    </mes:WLJMSMessage>
    </JMSMessageExport>
    Does anybody know what format the notification is written in?
    I'm trying to read it via JMS transport in OSB and it throwing errors no matter what "Request Message Type" I use:
    Unexpected type of message received: weblogic.jms.common.MapMessageImpl
    Thanks,
    Yuriy
    Edited by: user736637 on Jun 17, 2010 12:15 PM

  • "Distribution ...not available to distribute" error in log

    I have set a distribution and channel but i am getting these messages in
    the TED dist log. Please note % represent a sensitive variable
    2006.08.24 14:30:43 [TED:Event Processing] Gather
    AOTfiles.Distributions.ZfS.ZENworks.WCP stopped with error:
    PROGRAMS:\zenworks\pds\ted\dist\%Treename%~aotfile s.distributions.zfs.zenworks.%O%\1156384594035_TEM P\sp2.spk
    2006.08.24 15:51:44 [TED:Event Processing] Distribution
    AOTfiles.Distributions.ZfS.ZENworks.%O% not available to distribute.
    I do not understand I set up a test distribution and that worked fine, but
    when it came to setting up a real one it all went pear-shaped
    ZFS 7sp1 netware 6.5sp5 edir 8.7.3.8

    [email protected],
    >2006.08.24 14:30:43 [TED:Event Processing] Gather
    >AOTfiles.Distributions.ZfS.ZENworks.WCP stopped with error:
    >PROGRAMS:\zenworks\pds\ted\dist\%Treename%~aotfil es.distributions.zfs.zenworks.%O%\1156384594035_TE MP\sp2.spk
    I think we need another level of logging enabled to actually see what went
    wrong before this point. It sounds to me as if the APP object references
    a path that the server is not able to resolve. Like maybe a drive letter
    instead of UNC path.
    COuld this be?
    Jared Jennings
    Data Technique, Inc.
    Novell Support Forums Sysop
    http://wiki.novell.com

Maybe you are looking for

  • Excise Duties is not Calculating in Excise Invoice

    Hi Experts,            I am doing CIN configuration, i did all configuration settings, I did classify condition types also, but i am not getting Excise duties is not calculating in to Excise INVOICE, please help me with solution Thanks SESHU

  • Toshiba 32GB Flash Drive and lock software for Ubuntu

    Got myself a 32GB Toshiba Usb Flash Drive which comes with lock software. Works fine in Vista but if I stick it in my Ubuntu driven desktop, the files on the drive can be accessed or copied or deleted, so the software what comes with the drive is pre

  • IMovie "installed" but not showing up

    Newbie Mac user, just downloaded Imovie11, app store says its installed, but I don't see it anywhere? I'm sure it's a quick thing... can someone help? Thanks!

  • Error when trying to download Mountain Lion?

    So Mountain Lion is here, or is it!? I keep getting an error, item is temporarily unvailable at this moment please try later message when I try to upgrade through the App Store. Anyone know whats going on? Cheers Wayne

  • CLICK TO PLAY HELP!

    How can i make my animation in dreamweaver not play reight away! PLEASE HELP