Simple works

hi guys!! ive tried to run a simple rmi test and i got a class not found exception.... so i figured i should try the example and see the what i was doing wrong and guess what? got the same error (except the implementing class name):
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
     java.lang.ClassNotFoundException: example.hello.Server_Stub
     at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
     at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
     at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
     at sun.rmi.transport.Transport$1.run(Transport.java:153)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
     at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
     at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: example.hello.Server_Stub
     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:242)
     at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:430)
     at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
     at java.rmi.server.RMIClassLoader$2.loadClass
ive tried with and without stub pregeneration (with rmic)... also, im sure that rmiregistry is running, but it should make any difference... and yes ive tried to override the classpath, but it doesnt make any difference... any advice?

Hi takeshi10,
When I was trying to run my first sample RMI code I experienced absolutely the same problems. Later on, I understood that the problem was caused because I do not set correctly any of the following properties:
1) java.rmi.server.codebase
2) java.security.policy
3) rmi.server.hostname
Now let me show you a simple client-server RMI example. In this example we will use one interface ServerCounter and two classes ServerCounterImpl and Client. ServerCounter is the interface of the remote object and ServerCounterImpl is the class that implements the remote interface. In our example we will register (bind) the ServerCounter object to the RMI registry and count the number of calls made by a Client instance. Whenever a client calls the "printVisiotorCounter" method the server will print the the name of the user calling the method and the current number of the call. Bellow is the source code of all interfaces and the. From now I will assume that the source files reside in �C:/HelloWorldRMI/� and will refer to this location as $rmiexample.
File: ServerCounter.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ServerCounter extends Remote {
     // Prints the number of the current visitor/caller
     // Note that the message will be printed on the console
     // where the server application runs!
     public void printVisiotorCounter(String user) throws RemoteException;
     // Unbinds the remotely registered object and the application
     // terminates.
     public void exitServer() throws RemoteException;
} // End of interface  ServerCounter
File: ServerCounterImpl.java
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class ServerCounterImpl extends UnicastRemoteObject implements ServerCounter {
     public ServerCounterImpl() throws RemoteException
          super();
          _visitorCounter = 0;
          _rmiRemoteObjUrl = "//localhost/ServerCounter";
     } // End of default constructor
     public void printVisiotorCounter(String user) throws RemoteException
          ++_visitorCounter;
          System.out.println("Hello " + user + ", you are the " + _visitorCounter + " visitor.");
     } // End of void printVisiotorCounter(String)
     public void exitServer() throws RemoteException
          try
               Naming.unbind(_rmiRemoteObjUrl);
               System.out.println("Server unregistered successfully");               
          catch (Exception ex)
               ex.printStackTrace();
     } // End of void exitServer()
     public static void main(String[] args) {
          if (System.getSecurityManager() == null)
               System.setSecurityManager(new RMISecurityManager());
          String rmiObjId = "ServerCounter";
          String _rmiRemoteObjUrl = "//localhost/" + rmiObjId;
          try
               ServerCounter sc = new ServerCounterImpl();
               // Register the Server to the RMI registry
               Naming.bind(_rmiRemoteObjUrl, sc);
               System.out.println();
          catch (Exception ex)
               ex.printStackTrace();
          System.out.println("Server's main thread is about to exit!");
     } // End of void main(String[])
     // Stores the number of visitors
     private int _visitorCounter;
     // The URL through which this object can be accessed
     // from the RMI registry.     
     private String _rmiRemoteObjUrl;
     private static final long serialVersionUID = 0;
} // End of class ServerCounterImpl
File: Client.java
import java.rmi.Naming;
public class Client {
     public static void main(String[] args) {
          String user = args[0];
          try
               String serverUrl = "//localhost/ServerCounter";
               ServerCounter sc = (ServerCounter)Naming.lookup(serverUrl);
               if (user.compareToIgnoreCase("exit") != 0)
                    sc.printVisiotorCounter(user);
               else sc.exitServer();
          catch (Exception ex)
               ex.printStackTrace();
     } // End of void main(String[])
} // End of class Client
compile.bat � use this file to compile your classes
File: compile.bat
javac Client.java
javac ServerCounter.java
javac ServerCounterImpl.java
rmic ServerCounterImpl
runserver.bat � use this file to run the server. Before calling this script do not forget to start the rmiregistry! It is appreciated to call this script from the console by typing �rmiregistry.bat� instead of double clicking on it.
File: runserver.bat
java \
-Djava.rmi.server.codebase="file:/C:/HelloWorldRMI/" \
-Djava.security.policy="security.policy" ServerCounterImpl \
-Djava.rmi.server.hostname="localhost" \
ServerCounterImplRunning Client
Now to run the client you need to pass a command line argument that specifies your name, or your desire to unbind and terminate the remote object (the ServerCounter).
java \
-Djava.rmi.server.codebase="file:/C:/HelloWorldRMI/" \
-Djava.security.policy="security.policy" ServerCounterImpl \
-Djava.rmi.server.hostname="localhost" \
Client <Your_Name>To unbind the remote object invoke:
java \
-Djava.rmi.server.codebase="file:/C:/HelloWorldRMI/" \
-Djava.security.policy="security.policy" ServerCounterImpl \
-Djava.rmi.server.hostname="localhost" \
Client exitNOTE: Ensure that all the abouve mentioned files ServerCounter.java ServerCounterImpl.java Client.java compile.bat runserver.bat reside within $rmiexample (C:/HelloWorldRMI/)
Hope that this example was helpful to you. Be careful with the command line parameters because they may cause your example to fail. By the way, it works on me.
Regards,
Ferad Zyulkyarov

Similar Messages

  • A Simple Working CPU for the Nexys4 Board

    After lots of learning and some great feedback from this forum, I have finally got my microcoded CPU design working on my Nexys4 DDR board. Here is a link to the project.
    This would be a good introductory project for new users, as the CPU is nice and simple, there's a web page describing how it works, and there isn't much VHDL code to look at. Also, I have managed to put all the board-specific code into one VHDL file. It should not be much work to port the code to other FPGA boards.
    Anyway, thanks again for the feedback that I received here.
    Cheers, Warren

    The rub is that most binaries are compiled using SSE, and that instruction set is missing on Galileo. On the other hand, most binaries compiled without requiring SSE use very, very old Windows APIs that are not going to be supported on Windows on Galileo.
    So pretty much, you'll need to at least recompile everything.
    However, if you can find driver source for this video camera, you may be able to compile it for Galileo. It's worth a shot!
    KeepMyIdentities, Your Key to Password Security. Available now on the Windows Store: http://apps.microsoft.com/webpdp/en-US/app/keepmyidentities/61a9f340-97ac-4666-beab-39f9246cb6fa

  • IPOD NOT RECOGNIZED, MY FIX IS SIMPLE & WORKS

    Well, like all of you, I was extremely frustrated. So, I read, read, and read some more. Turns out in the manual, Apple clearly states that if your IPOD is insufficiently charged, your Windows/computer may not recognize it. (Mine registered half on the battery indicator when it would not be recognized).
    So, I bought the IPOD USB power adapter, charged it fully in under 1 hour plugged it in to the USB port and voila, found new hardware, installed it, up pops itunes and like the rascals sang, Groovin, though on a Tuesday morn.
    "Your iPod isn't charged or getting power
    Your iPod must have enough of a charge for your computer to recognize it". Apple troubleshooting guide.
    I suspect that for some of you who perservered through all sorts of resets, formats, etc., simply had enough of charge (ironically at least 4 hours if not more to charge via the usb to comp connection) that ir eventually worked.
    I sincerely hope this helps.
    cheers
    Mickey
    hp 7330n   Windows XP   amd athlon 64 x2 4200+

    You are most welcome. I am absolutely sure now that
    the charge status is the issue. Both of my daughters
    ipod 30 gb are working flawlessley. I have even
    updated the itunes and ipod software. All is a firm
    go.
    I hope it works out for you. Let me know..
    cheers
    Mickey
    Hey Mickey,
    Thanks for the tip. For over 6 hours, I'd tried everything from updating my drivers, to reinstalling the software. I charged my Ipod as you suggested, but that didn't work, either.
    Then I tried resetting the Ipod (connect ipod to computer, set Hold switch to Hold, then turn it off again, press and hold the Center and Menu buttons for at least 6 seconds until the Apple logo appears).
    It worked! I still appreciate your tip, though- it gave me hope enough to keep working on the problem for another hour. Cheers!
      Windows XP Pro  

  • Regarding a Simple Work-Flow

    Requirement:
    I want to trigger a work flow such that at the end of the day i want to get a Dialog step on to my work flow box saying that do
    you want to have a look at the employees who joined today. if i press Yes, i want to see the list of the employeees.
    For that i have created a workflow usina a custom Object type zbus1065(here i have created the custom BAPI which displays the list of todays employees). Now a dialog step  is crated and i am getting that dialog step. Now if i click on Yes, the list should gets displayed. How can display the list?

    HI manjunath,
    Try this out & let me know if this  works.
    http://www.acs.ilstu.edu/docs/oracle/workflow.101/b10283/admmon01.htm
    Best of luck,
    Bhumika

  • Share Screen does not work well when wifi is turned on.

    Hello,
    I'm having a minor little problem with Share Screen among 3 machines, 2 Lion OS mac pros connected with network cable, and a 3rd mbp laptop, also LION. I use share screen a lot and I am unable to connect from my main mac pro to the 2nd mac pro (via an ethernet cable) when wifi is turned on.....actually, I can connect, but it gets stuck on the "Connecting" screen and then 10 minutes later, it connects. When I turn wifi off, then hit Share Screen, the connection and response is very fast.
    After several hours playing with Sharing preferences....I think it seems like a network thing. I have checked network preferences, and re-ordered them to prioritize ethernet over wifi, powered off all devices including router, and everything else I can think of. btw, the share screen connection from my laptop to the mac pro is fine, even when wifi is turned on on the laptop.
    A simple work around is to just turn wifi off, make my connection, then turn wifi back on. But I'm curious and would like to solve this issue. It started after my 10.7.4 client combo update and has been working fine for several months before that, so I'd like to figure it out. Any ideas?
    Thanks for all the help on these boards.

    Nevermind.
    I had a failing hard drive (not the OS drive) in one of the drive bays. A couple of days after I posted this question, the drive (which has been at S.M.A.R.T. status "failing" for 6 months completely died, at which point the computer wouldn't even turn on. After removing the drive, everything with the Share Screen works fine, both over network cable and wifi.

  • TcpListener not working on Azure: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host

    Hi Everybody,
    i'm playing a little bit with Windows Azure and I'm blocked with a really simple issue (or maybe not).
    I've created a Cloud Service containing one simple Worker Role. I've configured an EndPoint in the WorkerRole configuration, which allows Input connections via tcp on port 10100.
    Here the ServiceDefinition.csdef file content:
    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="EmacCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-01.2.3">
    <WorkerRole name="TcpListenerWorkerRole" vmsize="Small">
    <Imports>
    <Import moduleName="Diagnostics" />
    <Import moduleName="RemoteAccess" />
    <Import moduleName="RemoteForwarder" />
    </Imports>
    <Endpoints>
    <InputEndpoint name="Endpoint1" protocol="tcp" port="10100" />
    </Endpoints>
    </WorkerRole>
    </ServiceDefinition>
    This WorkerRole is just creating a TcpListener object listening to the configured port (using the RoleEnvironment instance) and waits for an incoming connection. It receives a message and returns a hardcoded message (see code snippet below).
    namespace TcpListenerWorkerRole
    using System;
    using System.Net;
    using Microsoft.WindowsAzure.ServiceRuntime;
    using System.Net.Sockets;
    using System.Text;
    using Roche.Emac.Infrastructure;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.WindowsAzure.Diagnostics;
    using System.Linq;
    public class WorkerRole : RoleEntryPoint
    public override void Run()
    // This is a sample worker implementation. Replace with your logic.
    LoggingProvider.Logger.Info("TcpListenerWorkerRole entry point called");
    TcpListener listener = null;
    try
    listener = new TcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint);
    listener.ExclusiveAddressUse = false;
    listener.Start();
    LoggingProvider.Logger.Info(string.Format("TcpListener started at '{0}:{1}'", RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address, RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port));
    catch (SocketException ex)
    LoggingProvider.Logger.Exception("Unexpected exception while creating the TcpListener", ex);
    return;
    while (true)
    Task.Run(async () =>
    TcpClient client = await listener.AcceptTcpClientAsync();
    LoggingProvider.Logger.Info(string.Format("Client connected. Address='{0}'", client.Client.RemoteEndPoint.ToString()));
    NetworkStream networkStream = client.GetStream();
    StreamReader reader = new StreamReader(networkStream);
    StreamWriter writer = new StreamWriter(networkStream);
    writer.AutoFlush = true;
    string input = string.Empty;
    while (true)
    try
    char[] receivedChars = new char[client.ReceiveBufferSize];
    LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
    int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
    char[] validChars = new char[readedChars];
    Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
    input = new string(validChars);
    LoggingProvider.Logger.Info("This is what the host sent to you: " + input+". Readed chars=" + readedChars);
    try
    string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
    writer.Write(orderResultFormat);
    catch (Exception e)
    LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
    client.Close();
    break;
    catch (Exception ex)
    LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
    client.Close();
    break;
    }).Wait();
    public override bool OnStart()
    // Set the maximum number of concurrent connections
    ServicePointManager.DefaultConnectionLimit = 12;
    DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");
    RoleEnvironment.Changing += RoleEnvironment_Changing;
    return base.OnStart();
    private void RoleEnvironment_Changing(object sender, RoleEnvironmentChangingEventArgs e)
    // If a configuration setting is changing
    LoggingProvider.Logger.Info("RoleEnvironment is changing....");
    if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
    // Set e.Cancel to true to restart this role instance
    e.Cancel = true;
    As you can see, nothing special is being done. I've used the RoleEnvironment.CurrentRoleInstance.InstanceEndpoints to retrieve the current IPEndpoint.
    Running the Cloud Service in the Windows Azure Compute Emulator everything works fine, but when I deploy it in Azure, then I receive the following Exception:
    2014-08-06 14:55:23,816 [Role Start Thread] INFO EMAC Log - TcpListenerWorkerRole entry point called
    2014-08-06 14:55:24,145 [Role Start Thread] INFO EMAC Log - TcpListener started at '100.74.10.55:10100'
    2014-08-06 15:06:19,375 [9] INFO EMAC Log - Client connected. Address='196.3.50.254:51934'
    2014-08-06 15:06:19,375 [9] INFO EMAC Log - Buffer size: 65536
    2014-08-06 15:06:45,491 [9] FATAL EMAC Log - Unexpected exception while Reading the request
    System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    --- End of inner exception stack trace ---
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
    at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
    at TcpListenerWorkerRole.WorkerRole.<>c__DisplayClass0.<<Run>b__2>d__0.MoveNext() in C:\Work\Own projects\EMAC\AzureCloudEmac\TcpListenerWorkerRole\WorkerRole.cs:line 60
    I've already tried to configure an internal port in the ServiceDefinition.csdef file, but I get the same exception there.
    As you can see, the client can connect to the service (the log shows the message: Client connected with the address) but when it tries to read the bytes from the stream, it throws the exception.
    For me it seems like Azure is preventing the retrieval of the message. I've tried to disable the Firewall in the VM in Azure and the same continues happening.
    I'm using Windows Azure SDK 2.3
    Any help will be very very welcome!
    Thanks in advance!
    Javier
    En caso de que la respuesta te sirva, porfavor, márcala como válida
    Muchas gracias y suerte!
    Javier Jiménez Roda
    Blog: http://jimenezroda.wordpress.com

    hi Javier,
    I changed your code like this:
    private AutoResetEvent connectionWaitHandle = new AutoResetEvent(false);
    public override void Run()
    TcpListener listener = null;
    try
    listener = new TcpListener(
    RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint"].IPEndpoint);
    listener.ExclusiveAddressUse = false;
    listener.Start();
    catch (SocketException se)
    return;
    while (true)
    IAsyncResult result = listener.BeginAcceptTcpClient(HandleAsyncConnection, listener);
    connectionWaitHandle.WaitOne();
    The HandleAsync method is your "While (true)" code:
    private void HandleAsyncConnection(IAsyncResult result)
    TcpListener listener = (TcpListener)result.AsyncState;
    TcpClient client = listener.EndAcceptTcpClient(result);
    connectionWaitHandle.Set();
    NetworkStream netStream = client.GetStream();
    StreamReader reader = new StreamReader(netStream);
    StreamWriter writer = new StreamWriter(netStream);
    writer.AutoFlush = true;
    string input = string.Empty;
    try
    char[] receivedChars = new char[client.ReceiveBufferSize];
    // LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
    int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
    char[] validChars = new char[readedChars];
    Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
    input = new string(validChars);
    // LoggingProvider.Logger.Info("This is what the host sent to you: " + input + ". Readed chars=" + readedChars);
    try
    string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
    writer.Write(orderResultFormat);
    catch (Exception e)
    // LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
    client.Close();
    catch (Exception ex)
    //LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
    client.Close();
    Please try it. For this error message, I suggest you could refer to this thread (http://stackoverflow.com/questions/6173763/using-windows-azure-to-use-as-a-tcp-server
    ) and this post (http://stackoverflow.com/a/5420788).
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • After upgrading to OSX Mavericks my BT peripherals temporarily stop working

    I have a MacBook Pro 2009 with 4GB Ram, my only BT peripherals are a Logitech BT keyboard and Apple Magic Mouse.  After upgrading to OSX Mavericks the day of it's release the overall performance of my MacBook was increased and I was/am very happy with it.  My major gripe/annoyance is that upon opening a new application BT connectivity is totally lost and I have to revert back to my MacBook's keyboard and touchpad for a few seconds before BT comes back, and when it comes back it works flawlessly until I open another app or switch between certain apps.  This issue is new since the OSX Mavericks upgrade, and my hardware setup has remained unchaged from day 1.  It sounds like a software issue, and I was wondering if anyone else has had the same problem or has discovered a solution.  I have cycled power on the machine, and have left it completely off for 24 hrs before booting it back up with the same issue.  This isn't major, just annoying.  The only other thing I have is with Mail and my GMail account seeming not to sync up correctly.  Messeges archived on my iPhone 4S still show as unread on my Mail app even hours after the archive and both devices on the same wireless network, This never happened before the upgrade to OSX Mavericks... Everything used to sync up perfectly... Anyone have any ideas as to what may be going on??? Thanks!!

    Thanks Barry!!! I only reset the SMC and after booting up the system, bluetooth has maintained connectivity after switching between apps, open/closing apps works just as before!!! Thanks again!!! I can't believe such a simple work around would fix such an annoying issue.  BTW I didn't reset PRAM, didn't see the need to because everything works just fine now.  If I could only get the Mail app to correctly sync up I'd be perfect!

  • 64 bit ATM deluxe actually works, you just can't install

    I actually could hardly believe it. Is Adobe Really that lazy that they can't just repackage the installer so it will work on a 64bit version of windows? Well, it seems so.
    I went to my coworkers computer, who has the same version of the software as me, and simply copied the whole folder from his computer to the (x86) program files folder.
    When I tried to run it, the software gave me an error that there was no database in windows, but it let me create one. Everything worked fine.
    I added our company font set, and they are working fine in Photoshop and Illustrator. I didn't check AE, Encore, or Premier, but I assume those are fine as well.
    So it looks like all you have to do is install it on another 32bit computer, and just copy the files over. Someone should test that on Vista too. I hear it doesn't work in Vista? Just make sure if you install it somewhere else Just to copy it to the licensed version, you uninstall it on that computer after you are finished copying it.
    Hopefully Adobe will get their act together and start making these things compatible with an OS they Claim to be obsolete. 80,000 people are at our company and it looks like everyone who uses Photoshop will be converting to XP64 within the next 9 months. Hmm, obsolete? I think they fail to realize that large corporations don't use the newest software, not that their software is Really that compatible with Vista either. lol
    Hope this post helped some of you guys. I'm still laughing inside that something so simple worked.

    To understand why ATM is no longer supported, you need to understand the history of the product and its original purpose going back to 1989 and the
    Font Wars between Adobe on one side, with its Type 1 font technology from PostScript, and a coalition of Apple and Microsoft on the other side with their TrueType font technology developed by Apple but liberally "borrowed" from Imagen, a laser printer company from the 1980s.
    The first version of ATM for Macintosh was released in December 1989 strictly to allow host-based copies of Type 1 fonts to be rendered "on-the-fly" for the screen as opposed to the user having to install bitmap versions of such fonts tuned to a particular screen resolution and point size. The Windows version followed within a year or so. Effectively, ATM blunted an attempt by both Apple and Microsoft to put Adobe out of business by locking Type 1 fonts out of the desktop. ATM allowed use of fully-scalable Type 1 technology on both Macintosh and Windows before TrueType was actually available for either Macintosh or Windows. This unholy alliance of Apple and Microsoft also pushed a Microsoft-provided clone of PostScript, TrueImage, licensed from Cal Bauer (that's a separate story but needless to say, that CloneScript was really poor and failed very quickly; Apple came running back to Adobe for Adobe PostScript for their new LaserWriters without ever actually releasing a product based on Microsoft's TrueImage).
    Subsequently, Adobe released its Multiple Master variant of Type 1 fonts that provided the facility to vary weights, widths, and other aspects of fonts, generating custom "instances" of fonts to better match the designer's needs. ATM was used to control the building and installation of Multiple Master instances.
    Over the years, two additional functions were added to ATM. The more recent was support for OpenType CFF fonts (i.e., OpenType fonts with Type 1 outlines) and in the "Deluxe" version of ATM, a very rudimentary font manager.
    Over the years, i.e. by the time Windows 2000 and MacOS X shipped, there original raison d'etre for ATM was gone given that beginning with these OS versions, Type 1 and OpenType CFF font support was now native within the operating system based on Apple and Microsoft individually integrating Adobe code into the operating system. The only purpose left for ATM under Windows 2000 and Windows XP was to support creation and installation of Multiple Master font instances. Given that Adobe stopped developing new Multiple Master fonts back in the late 1990s and shortly thereafter stopped licensing them, the need for Multiple Master support outside of Adobe's applications themselves (which still support existing Multiple Master instances, either those primary instances delivered with the fonts or user-created instances) diminished to next to nothing.
    The only function left to ATM was that of
    font management, historically the weakest aspect of ATM Deluxe.
    Adobe then had to make a decision in terms of the future of ATM. The bottom line was that given the relatively weak font management capabilities of ATM Deluxe - it provided no auto-activation, was based on very ancient code that was incompatible with new OS versions, and was fairly incompatible with Adobe's new applications, Adobe had to measure the cost of developing, marketing, and supporting an advanced, new generation font management program competitive with other products already out in the marketplace performing similar functions. Simply stated, the decision made at the time was that (a) given the cost of developing, marketing, and supporting a new, industrial strength font manager, (b) given existing reasonable quality font managers available from third parties that seemed to meet the market's need, and (c) given what users were actually willing to pay for such software, it was not worth Adobe making the necessary investment to create a "next generation" ATM.
    Could that decision be re-evaluated some day? Maybe although it is unlikely that such a re-evaluation will yield a different decision! But for the time being, Adobe Type Manager is a product that is no longer marketed or supported.
    Can you coerce ATM Lite or ATM Deluxe to install on 32-bit Windows Vista? Probably. Will it run on Vista? Possibly although we have heard mixed reports and Adobe won't support you if you mess up your system trying to use it. 64-bit Windows (both XP and Vista) is a different story. The ATM installer is a 16-bit program that simply won't run on these 64-bit systems (same is true with the old
    Adobe Universal PostScript Printer Driver Installer). Can the ATM code itself run - Andy Engelkemier claims it does, but don't count on it properly interfacing with Adobe Creative Suite applications properly or respecting the multiple user environment. Given that other fairly competent font manager software is readily available at reasonable cost, you should carefully evaluate the value of your time continuing to run an ancient, unsupported, low functionality font manager with no future versus migrating to products are still being developed and supported by their developers.
    - Dov

  • JPopupMenu with a submenu (doesn't work)

    I have a JPopupMenu that displays some info for me and I would like to add a submenu but it doesn't seem to work. I can successfully add the submenu but it doesn't "expand" when I mouse over the submen.
    JPopupMenu pm = new JPopupMenu();
    JMenu submenu = new JMenu("submenu");
    JMenuItem jmi = new JMenuItem(...);
    submenu.add(jmi);
    pm.add(submenu);The popup menu looks as it should and the only thing that is missing is the action that should expand the submenu when I mouse over (and clicking doesn't work either).
    Any ideas?

    I don't think it is my code because I have tried it with other JPopupMenu stuff and it never works. Here is a simple working example of it. If you can modify this code to work I will be a bielver...
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;
    public class PopUpMenuTest extends JPanel implements MouseListener, MouseMotionListener {
       private JPopupMenu jpm;
       private JFrame frame;
       public PopUpMenuTest() {
          super();
          addMouseListener(this);
          addMouseMotionListener(this);
          JFrame.setDefaultLookAndFeelDecorated(true);
          frame = new JFrame("Testing PopUpMenuTest");
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setContentPane(this);
          frame.setSize(600, 400);
          frame.setVisible(true);
       public static void main(String[] args) {
          new PopUpMenuTest();
       public void mouseClicked(MouseEvent me) {
          System.out.println("Mouse clicked...");
          jpm = new JPopupMenu();
          jpm.setLightWeightPopupEnabled(false);
          jpm.add(new JMenuItem("Testing 1"));
          jpm.add(new JMenuItem("Testing 2"));
          jpm.addSeparator();
          JMenu submenu = new JMenu("A submenu");
          JMenuItem menuItem1 = new JMenuItem("An item in the submenu");
          submenu.add(menuItem1);
          JMenuItem menuItem2 = new JMenuItem("Another item");
          submenu.add(menuItem2);
          jpm.add(submenu);
          jpm.setVisible(true);
          jpm.setLocation(frame.getX()+me.getX(), frame.getY()+me.getY());
          jpm.setVisible(true);
       public void mouseMoved(MouseEvent arg0) {
          if (jpm != null) {
             jpm.setVisible(false);
             jpm = null;
       public void mouseEntered(MouseEvent arg0) {}
       public void mouseExited(MouseEvent arg0) {}
       public void mousePressed(MouseEvent arg0) {}
       public void mouseReleased(MouseEvent arg0) {}
       public void mouseDragged(MouseEvent arg0) {}
    }

  • HelloWorld, nor any SDK examples work for Me. :(

    Hi there.
    Feebly trying work with the Illustrator CS3 SDK. I wanted to develop an Illustrator plugin, but for now will settle on a simple HelloWorld example. I am hoping someone can just point me in the right direction. Feel I am ready to give up before I even get started. Here are the dilemmas...
    In the SDK docs, none of the tutorials or examples work for me. For the most part, nothing compiles, I get one error after another. The times code actually does compile, Illustrator will not load the plugin.
    I've spent a week or two simply trying to get one of the examples to work, any one of them, or to simply get the HelloWorld example to work, no luck. Spent hours tracking down where things could be breaking, but found no results. I cannot tell if I am getting closer to finding the cause of the problem(s) or if I am working in circles.
    I ask this to anyone so kind to assist. Please step me through a simple HelloWorld example, which actually works on my system. I am happy to, and would provide details of various error messages I get, but I think seeing a simple working example would be the best help.
    Here's are the details.
    Trying to get the HelloWorld example, from the SDK CS3 docs, to work on either the mac or pc. I prefer the pc though.
    - On the mac, using xcode. OSX, the latest. Tried compiling with all minor versions of OSX.xxx too.
    I was able to get the helloWorld example to sort of compile, but it created a folder instead of a plugin, which didn't work.
    - On the pc, using winXP Pro, win32. Computer is up-to-date, service pack 3, a gig of ram, Pentium 4 3.00GHz.
    Using Visual C++ Express 2008, also tried with 2005.
    Here are a few things I tried, in attempt to get the HelloWorld example to work.
    -> Tried addressing all the "gotcha" tips from this site:
    http://www.graphicscode.com/Articles/VCExpressGotchas.html#RC1015
    -> Tried every which way to point the includes to the correct locations. Tried even copying the common library files into the same folder as the project.
    -> Tried saving the resource files in different formats, eg. UTF8, ANSI. Tried different line terminators eg. CR/LF.
    Not only the correct code, but I think what I need most are the correct project settings for Visual C++ Express. Also, there might be something funny going on with how VC++ creates resource files too.
    Appreciate any help.
    Thank you,
    -Justin

    Nobody??
    Hello WORLD << Anybody out there.... :)

  • HTTP Request returns success, but does not work in azure

    I created a simple worker role project that sends an HTTP GET request to the weather underground site to update my weather stats from my weather station. The data it sends is pulled from a SQL database stored on Azure.
    The solution works perfectly when I run it on my local emulator.  When I deploy it to staging in azure it runs without error.  I even get an HTTP success as the response to my GET.  However, my weather underground stats don't get updated. 
    I connected the VS debugger to azure and can step through the code and it all seems to work as expected.  I get back an appropriate HTTP response.
    Thoughts???
    Thanks,
    McP

    I figured it out.  Upon close inspection I noticed that the date and time value that I was setting in my query string was off by 4 hours.  See, azure uses UTC time.  The service I was calling expects the datetime to be UTC as well.  So,
    I was doing a simple conversion to UTC time in my code.  However, because the time was being stored in the database as local time, when I would call the conversion in code it was basically adding 0 hours to it because the azure instance was already running
    in UTC.  So, I ended up doing a little time zone math to calculate the difference between my zone and UTC and then added that to the time coming from the database.
    The reason it was returning success was because the service allows you to update older records.  However, if you are just looking at current weather conditions you would think that it wasn't being updated.
    So remember - Azure runs on UTC time!!!

  • Hebrew OCR works but spaces and in english - Possible bug

    Hello all,
    I'm using Acrobat Extended Pro for scanning hebrew content. The OCR features works very good, but when copying the text to Microsoft Word (2003) the spaces (not the words) remain in english. I mean, as Word knows the language of each charactar, it marks the words as hebrew and the spaces as english.
    This causes Word to invert the word order in the sentences.
    Of course copying first to notepad and then to Word easily solves the problem
    Hope it helps
    Nitay

    Just a thought —
    Perhaps the Middle Eastern version of Acrobat would deal with spaces appropriately.
    Regardless, while using what is currently installed; try export of PDF page content to a text file.
    Open the text file with MS Word. It the result is similar to the outcome of the copy-paste to notepad it might be a little simpler work flow.
    Be well...

  • Easy and working firewall.

    Someone may find this one useful, it is a little script that configure the iptables with easy.
    No need of fancy GUIs and dead easy.
    A nice simple script.
    chown it root:root
    chmod it 744
    Edit, run the script, repeat when needed.
    #!/bin/sh
    # firewall.sh
    if [ "`/usr/bin/id -u`" != 0 ]
    then
    echo "`basename $0`": you need to be root to do that.
    exit 1
    fi
    iptables --policy INPUT DROP
    iptables --policy FORWARD DROP
    iptables --flush # Flush all rules, but keep policies
    iptables --delete-chain
    ### Basic firewall rules ###
    iptables --policy FORWARD DROP
    iptables --policy INPUT DROP
    iptables --append INPUT -i lo --source 127.0.0.1 --destination 127.0.0.1 -j ACCEPT
    iptables --append INPUT -m state --state "ESTABLISHED,RELATED" -j ACCEPT
    ### icmp services ###
    #iptables --append INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
    #iptables --append INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
    #iptables --append INPUT -p icmp --icmp-type echo-request -j ACCEPT
    #iptables --append INPUT -p icmp --icmp-type echo-reply -j ACCEPT
    ### Open ports ###
    #Bittorrent, ten downloads at time
    #iptables --append INPUT -p tcp --dport 6881:6890 -j ACCEPT
    #aDonkey nerwork
    #iptables --append INPUT -p tcp --dport 4662 -j ACCEPT
    #iptables --append INPUT -p udp --dport 4672 -j ACCEPT
    #http server
    #iptables --append INPUT -p tcp --dport 80 -j ACCEPT
    #https server
    #iptables --append INPUT -p tcp --dport https -j ACCEPT
    ### Limits the logging to 40 entries per minute ###
    iptables --append INPUT -j LOG -m limit --limit 40/minute
    ### Everything other is dropped ###
    iptables --append INPUT -j DROP
    echo "`basename $0`": Done.
    Using iptables you have a simple working firewall.
    If you like this one, I am happy. If you have advices I am even more happy. If you dislike it, as the wiki says even if everyone hate it but you, you made something...
    It is not a 100% work of mine, I altered a script I found time ago. Whoever it was the original author I thanks him.

    It is quite shameful since I posted this thread, but I need help...
    ATM I have to recall this script everytime after connecting, or the iptables I made are lost.
    Do someone know of pppoe-start work? I tried reading it, but I do not understand how it sets the iptables.
    After a cold reboot, I noticed iptables-save displays nothing, after pppoe-start iptables-save shows the masquerade default settings. How can I asking pppoe-start to use my firewall rules?
    thanks.

  • Installing XML::Simple Perl module on 10.4.8

    Two of my friends today asked me to help them get XML::Simple working on their Mac's. Somthing that should be a simple cpan one-liner "install XML::Simple" doesnt work on OSX. It took me a half hour to figure all this out... here are the steps:
    Prerequisites:
    - X11 1.1.3 package from the OSX install disk (or Apple download site)
    - Perl 5.8.x w/cpan (default on OSX)
    - a terminal
    - A reasonable working knowledge of Perl and Unix
    Step 1:
    Open terminal, type 'cpan' to enter the cpan installer.
    cpan> install XML::Simple
    It will ask you three times if you want to follow the prerequired modules. Hit enter every time. Eventually you will get a dozen test failures. These are in XML::Parser, a required module.
    Step 2:
    cpan> exit
    $ cd ~/.cpan/build/XML-Parser-2.34 **Note the version may change
    $ perl Makefile.PL EXPATLIBPATH=/usr/X11R6/lib EXPATINCPATH=/usr/X11R6/include
    $ make test
    $ make install
    Step 3:
    Back to cpan...
    $ cpan
    cpan> install XML::Parser
    Already Installed
    cpan> install XML::Parser::Expat
    Already Installed
    cpan> install XML::SAX::Expat
    Installs with some silly warning about ParserDetails.ini. Lets fix that.
    cpan> exit
    Step 4:
    Here is the command/code to add Expat to the ParserDetails.ini file. If we don't, we can't proceed past this point.
    $ sudo perl -MXML::SAX -e "XML::SAX->addparser(q(XML::SAX::Expat))->saveparsers()"
    Step 5:
    Back to cpan to finish the install
    $ cpan
    cpan> install XML::Simple
    Hit enter if it asks you anyting. The whole thing should work.
    cpan> exit
    Step 6:
    Verify XML::Simple existance with:
    $ perl -MXML::Simple -e '1;'
    If you don't get an error, you're all done!
    Enjoy.
    Macbook Pro 15" C2D   Mac OS X (10.4.8)  

    Two of my friends today asked me to help them get XML::Simple working on their Mac's. Somthing that should be a simple cpan one-liner "install XML::Simple" doesnt work on OSX. It took me a half hour to figure all this out... here are the steps:
    Prerequisites:
    - X11 1.1.3 package from the OSX install disk (or Apple download site)
    - Perl 5.8.x w/cpan (default on OSX)
    - a terminal
    - A reasonable working knowledge of Perl and Unix
    Step 1:
    Open terminal, type 'cpan' to enter the cpan installer.
    cpan> install XML::Simple
    It will ask you three times if you want to follow the prerequired modules. Hit enter every time. Eventually you will get a dozen test failures. These are in XML::Parser, a required module.
    Step 2:
    cpan> exit
    $ cd ~/.cpan/build/XML-Parser-2.34 **Note the version may change
    $ perl Makefile.PL EXPATLIBPATH=/usr/X11R6/lib EXPATINCPATH=/usr/X11R6/include
    $ make test
    $ make install
    Step 3:
    Back to cpan...
    $ cpan
    cpan> install XML::Parser
    Already Installed
    cpan> install XML::Parser::Expat
    Already Installed
    cpan> install XML::SAX::Expat
    Installs with some silly warning about ParserDetails.ini. Lets fix that.
    cpan> exit
    Step 4:
    Here is the command/code to add Expat to the ParserDetails.ini file. If we don't, we can't proceed past this point.
    $ sudo perl -MXML::SAX -e "XML::SAX->addparser(q(XML::SAX::Expat))->saveparsers()"
    Step 5:
    Back to cpan to finish the install
    $ cpan
    cpan> install XML::Simple
    Hit enter if it asks you anyting. The whole thing should work.
    cpan> exit
    Step 6:
    Verify XML::Simple existance with:
    $ perl -MXML::Simple -e '1;'
    If you don't get an error, you're all done!
    Enjoy.
    Macbook Pro 15" C2D   Mac OS X (10.4.8)  

  • Adobe Air is very smiller than Zinc App - Reposition and Resize not working?

    Hello guys, i have found and readden nice solution like NativeWindow was saved positions and sizes If i close Adobe Air App and i open again like NativeWindow was moved and resized. It is very simple working. And it works fine. 100 % Good! But how does it work with Zinc App because it doesn't work for positions and sizes. How do i fix? I have upgraded code from FileSerializer.as With mdm.Script:
    package
      import flash.events.Event;
      import flash.net.URLRequest;
      import flash.net.URLStream;
      import flash.utils.ByteArray;
      import mdm.Application;
      import mdm.FileSystem;
      import mdm.System;
      public class FileSerializer
      public static function WriteObjectToFile(object:Object, filename:String):void
      var fileExists:Boolean = mdm.FileSystem.fileExists(mdm.Application.path+filename);
      var outByte:ByteArray = new ByteArray();
      outByte.writeObject(object);
      if(fileExists == false)
      mdm.FileSystem.saveFile(mdm.Application.path+filename, "");
      mdm.FileSystem.BinaryFile.setDataBA(outByte);
      mdm.FileSystem.BinaryFile.writeDataBA(mdm.Application.path+filename);
      private static var stream:URLStream;
      public static function ReadObjectfromFile(filename:String):Object
      var fileExists:Boolean = mdm.FileSystem.fileExists(mdm.Application.path+filename);
      if(fileExists == false)
      var obj:Object;
      stream = new URLStream();
      stream.addEventListener(Event.COMPLETE, function(evt:Event):void
      obj = stream.readObject();
      stream.close();
      stream.load(new URLRequest(filename));
      return obj;
      return null;
    That is improved to mdm.Script and it saves sometimes.
    And i have create UserPref.as
    package
      public class UserPref
      public var zincForm:String = "MainForm";
      public var zincType:String = "sizeablestandard";
      //public var zincSWF:String = "MainApp.swf";
      public var zincPosX:Number;
      public var zincPosY:Number;
      public var zincWidth:Number;
      public var zincHeight:Number;
    And i create MainApp.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:mx="library://ns.adobe.com/flex/mx"
      layout="absolute" applicationComplete="applicationCompleteHandler(event)" creatingComplete="creationCompleteHandler(event)">
      <fx:Script>
      <![CDATA[
      import mdm.Application;
      import mdm.Event;
      import mdm.Forms;
      import mdm.mdmForm;
      import mx.events.FlexEvent;
      private var up:UserPref;
      private var form:mdmForm;
      protected function applicationCompleteHandler(event:FlexEvent):void
      mdm.Application.init();
      this.up.zincPosX = this.form.x;
      this.up.zincPosY = this.form.y;
      this.up.zincWidth = this.form.width;
      this.up.zincHeight = this.form.height;
      FileSerializer.WriteObjectToFile(this.up, "pref.zup");
      mdm.Application.onAppExit = function (appevt:flash.events.Event):void
      mdm.Application.exit();
      mdm.Application.enableExitHandler();
      protected function creationCompleteHandler(event:flash.events.Event):void
      this.up = FileSerializer.ReadObjectfromFile("pref.zup") as UserPref;
      if(up) {
      mdm.Application.onFormReposition = function(rpevt:mdm.Event):void
      this.form.x = up.zincPosX;
      this.form.y = up.zincPosY;
      mdm.Application.onFormResize = function(rsevt:mdm.Event):void
      this.form.width = up.zincWidth;
      this.form.height = up.zincHeight;
      }else
      this.up = new UserPref();
      ]]>
      </fx:Script>
      <fx:Declarations>
      <!-- Platzieren Sie nichtvisuelle Elemente (z. B. Dienste, Wertobjekte) hier -->
      </fx:Declarations>
    </mx:Application>
    And i recompile with Zinc Studio 4.0.22 than i try reposition and resize with Zinc Window than i close since saved files and i open again. But why does it not reposition and resize?
    How do i fix? Can somebody help me?
    Thanks best regards Jens Eckervogt

    I little more searching and I found the answer. Check it out here:
    http://forums.adobe.com/message/2879260#2879260

Maybe you are looking for

  • 2 ipods on 2 computers, can I combine the music?

    Hey I have 2 Ipod nanos that are 2nd generation. I have an old computer with all my songs that I bought and some from CD's. All of the music from this computer is on my one ipod. That computer died, and now the itunes doesnt work correctly. I have a

  • IView is not shown sometimes

    Hi, I am using IE7, NW 7.0 Sometimes, when I click on iView link, the view is not loaded and I see a blank screen. Alongwith this, 'access is denied' message is displayed at the IE footer. Kindly provide your inputs to resolve this issue. Thanks, Nik

  • N8: touchscreen reactivedess drops when not in han...

    Today I noticed that when my N8 is lying on the table and I don't touch-hold it, the touchscreen sensibility is unconfortable, as I have to press harder and keep the finger longer to get a reaction. As soon as  I simply touch with the other hand the

  • Cannot use this version of the application with this version of MAC OSX

    When I try to download the new beta, I get a message that says: cannot use this version of the application with this version of MAC OSX I'm new to Macs, but I installed all the software updates and that still didn't help. I dont have to buy a new ope

  • If you buy MEGA you get CD too ? ? ? How to modify

      How to do that  ->just copy folders from your original CD (Install) and files from root directory (Mfc42.dll, install.ini, gopci.dll, DrvCheck.dll, RunPci.dll, SHELEXEC.EXE, NTGLM7X.SYS, NTACCESS.sys, MSVCRT.DLL, NTACCESS.sys, MSIVXD.vxd, MSIOAL.dl