Technical FAQ: General questions
FAQ Index
Using JDK 1.1.6 on Win32
I upgraded to JDK 1.1.6 on Win 95/NT. How come my application no longer
works?
In JavaSoft JDK 1.1.6 the Symantec JIT
is enabled by default. Unfortunately, the JIT included in the Win32
download has some problems. There is an
updated JIT available from the Javasoft web site. You will need to
register with the Java Developer Connection to access this, but it is
free.
Alternately, you can run without the JIT by invoking java with the
command line option
$ java -Djava.compiler=none
Using SOCKS with WebLogic
I am experiencing problems trying to connect from behind a
firewall/proxy installation at client sites. Is there any way to
configure WebLogic to use a SOCKS proxy?
You can configure a java.net socket to use SOCKS by setting a Java
system property. For details, see How do I
make Java work with a proxy server?. Once the property is set,
WebLogic's socket connections will use the SOCKS proxy.
Can I speed up connection requests?
We recently installed a WebLogic Server, and found that it
seems to take 15-30 seconds to respond to connection requests, even when
there is no significant load. How can I speed up connection delays?
Connection delays are often caused by DNS problems. WebLogic
performs a reverse lookup on the hostname from which a new connection is
made. If the DNS reverse lookup is not working properly because the
connection is coming from some kind of proxy server, it could be
responsible for the delay. You might want to work with your system
administrator to determine whether DNS and the third-party networking
software are working properly. Try writing a simple server program
that performs a reverse lookup on any connection made to it. If that
lookup is delayed, then you know that the proxy server is the source
of the problem.
What about the June, 1998 SSL-related security bulletin?
On June 16, 1998, RSA
released a security bulletin (#7) which
notified
its licensees about a vulnerability in the PKCS1
standard. This standard is used in SSL
as part of the initial key exchange. It advised its licensees on
measures to take to ensure security on systems that use RSA.
The vulnerability is purely theoretical. It consists of distinguishing
between two kinds of error responses. To exploit it, an attacker
would have to carefully generate and analyze on the order of one
million error responses from an SSL server.
WebLogic uses RSA in its SSL implementation. Based on the suggested
fix from RSA, WebLogic changed how encoding failures are handled so
that error messages are completely uniform. The changes are included
in WebLogic release 3.1 and later.
You do not support 1.0.2 anymore?
I read in your release
notes for Release 3.0 that you have discontinued support for JDK
1.0.2. What do I do? I'm using applets
.
You are right, we have discontinued universal support of JDK 1.0.2
. We now ship only one set of classes that has been
compiled against the latest version of JDK 1.1.x.
In order to assure compatibility when running applets, we recommend
that you upgrade your browsers to either Netscape Communicator 4.0.3
or later or Microsoft Internet Explorer 4.0 or later. Alternately, you can use
the Java Plug-in, available free from JavaSoft, which automatically updates the browser JVM
.
What do you mean by a "logfile"?
You asked me to send you a "logfile." What exactly do you mean?
We mean a stacktrace,
or -- if you are using the WebLogic Server -- the
weblogic.log file in your WebLogic Server
directory (the default is the myserver directory).
You can generate a stacktrace in your code by inserting the following
line of code after you catch an Exception "e".
e.printStackTrace();
There are several examples of using the printStackTrace() method in the code examples in the
examples included with the distributions. All of the source code for the examples is also
available on our website.
Will using a JIT make my Java application run faster?
A Just-In-Time compiler will make some Java applications run faster.
A JIT works by storing generated machine code in memory and reusing it
when possible. For instance, if you execute the same operation 1000
times in a loop, a JIT will improve performance of this operation
since the code will only be generated once. Applications with a lot of
native methods will not see as much performance improvement as pure-Java
applications.
If you use a JIT, you may want to turn off the JIT during debugging to
facilitate stacktracing
. If you are doing performance testing with a JIT, make
sure that you execute the same test several times in the same
invocation and then throw away the first result to get an idea of how
long the transaction will take when your application is running in a
steady state. The first time the code is executed, your test will take
longer (the "code generation hit").
Also see news about the JIT in JDK 1.1.6.
What do you mean by "two-tier" and "multitier" drivers?
What do you mean by "two-tier" and "multitier" JDBC drivers?
Two-tier drivers -- which include WebLogic jdbcKona/Oracle,
jdbcKona/Sybase, and jdbcKona/MSSQLServer
-- call the vendor libraries
for each specific database. Because the vendor libraries are not
written in Java, a two-tier driver uses "native
methods." This requires the vendor's database libraries,
(.dll or .so) to be installed on the computer running the Java
code so that the JVM can call into the libraries.
With multitier (also called "three-tier") drivers, an intermediate
application server sits between the JDBC
driver and the database. WebLogic's multitier JDBC driver, WebLogic
JDBC
,
is pure-Java and doesn't use any native methods. That means that it
requires no client-side installation of vendor libraries. A client
application that uses WebLogic JDBC connects to the intermediate
application server -- the WebLogic Server -- and the
application server connects to the database on behalf of the
client. When you use WebLogic JDBC, your clients do not need vendor
libraries. Only one copy of the vendor library is
required, along with a two-tier JDBC driver, on the computer
running the WebLogic Server.
For more about this topic, read the whitepaper, Choosing a JDBC driver.
I'm having trouble with Java -- What do I do?
This is really a whole set of questions that our support engineers are
sometimes asked. We are very happy to help you with problems you are
having with our software, but we can only offer you directions to
some other resources for problems like these:
My program will not work. Can you help me debug it?
If the problem you are having is not directly related to
our software, we suggest that you use a Java development tool that
helps you with debugging, and that you invest in some books/training
to help you learn Java. There are many ways to build debugging into
your program, and getting good training in Java programming is a good
start to understanding how to do this.
I'm taking a class and I need help learning Java.
My boss told me to find out about Java. What is Java? Where
do I get it?
There are a lot of books and online references to Java. A good
starting place is at the JavaSoft website documentation index,
which has links to whitepapers and the Java Tutorial. You can find
books on Java at any of the major online book shopping sites.
Where do I get the JDK?
Start at the JavaSoft
website. Many platform vendors provide an optimized version of the JDK
for their computers. See our Platform support page for
information about specific JDKs that we have tested and certified for
use with WebLogic software.
How do I set up my CLASSPATH?
Setting up your CLASSPATH
is pretty easy, once you understand
what you are doing. Check our administrators guide,
Setting classpath.
When I try to run an example, it doesn't work.
Usually problems with examples are related to your
environment. Here are some troubleshooting hints:
- If you are using a database, make sure you have run the
utility utils.dbping to
verify that your JDBC
driver is correctly installed and
configured.
- Make sure your CLASSPATH is correctly
set in the shell or DOS window in which you are running the examples.
- Check the instructions for the examples to make sure you have
changed any user-specific variables in the code before compiling.
- Verify that you are compiling with the -d
option to direct the class files into the proper directory.
- If the example is an applet
,
check the CODE
and CODEBASE
,
and make sure WebLogic Server is running.
