Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 388909
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T15:48:55+00:00 2026-05-12T15:48:55+00:00

Does client have to have all implementations or just interfaces? In details: let we

  • 0

Does client have to have all implementations or just interfaces?

In details: let we have remote interface Foo:

public interface Foo extends Remote {
    FooMessage getFooMessage () throws RemoteException;
    void setFooMessage (FooMessage fm) throws RemoteException;
}

Communication between client and server is happening by means of FooMessage.

public interface FooMessage {
    String getMsg ();
    void setMsg (String str);  
}

The client is very simple:

public void clientCode () {
    Foo foo = (Foo)Naming.lookup ("rmi://localhost/FooService");
    FooMessage msg = foo.getFooMessage ();
    msg.setMsg ("asdf");
    foo.setFooMessage (msg);
}

Both Foo and FooMessage should have concrete implementations on server side. The question is: should client have these implementations too or RMI mechanism transfers implementations implicitly?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T15:48:55+00:00Added an answer on May 12, 2026 at 3:48 pm

    The concrete implementation class can be loaded by the client from the server, using an RMI class loader. However, there are a common “gotchas” to keep in mind:

    1. The RMI class loader is disabled unless the client has a SecurityManager installed. This is intended to restrict the actions of any malicious code served to the client.
    2. The server needs to specify a “codebase” that is accessible to the client. This could be a file: URL on a shared file system, an http: server, etc. This is specified with the java.rmi.server.codebase system property.

    (Also note: the linked guide is useful, but it talks a lot about “stubs”; since Java 5, it is most common to use stubs generated dynamically at runtime by the client. The mechanism applies to any other classes that need to be shared, however.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 192k
  • Answers 192k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Not sure what specific issues you are trying to debug,… May 12, 2026 at 6:26 pm
  • Editorial Team
    Editorial Team added an answer Subversion has client integration available on both Visual Studio and… May 12, 2026 at 6:26 pm
  • Editorial Team
    Editorial Team added an answer Actually, I figured this out, sorry for the post. I… May 12, 2026 at 6:26 pm

Related Questions

This isn't a style question. Its more about the proper use of the language
My Situation: The data request chain of my application looks like this: (Client) ->
I don't know how authoritative this is but I found this: http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations and it
In socket programming, you create a listening socket and then for each client that
For a poor man's implementation of near -collation-correct sorting on the client side I

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.