Fenriswolf 程式筆記


Weblogic v.s. java.net.URL

當在 weblogic 裡使用 java.net.URL 這個 class 取得 default port
以 JDK 預設會回傳 80
但是 weblogic 改寫了 default value,會回傳 -1
這在使用一些 thirdparty library 並傳入 java.net.URL 會造成 runtime error

URL url = new URL("http://www.google.com/holidaylogos.html");

1. 設定明確的 port(建議)

URL url = new URL("http", "www.google.com", 80, "/holidaylogos.html");

2. 重寫自己的 URLStreamHandlerFactory
並修改 startWebLogic.cmd 加入以下參數


這裡只用 http 為例子,如果有使用其他 protocol 要再修改 URLStreamHandlerFactory

public class MyURLStreamHandlerFactory implements URLStreamHandlerFactory {
    public URLStreamHandler createURLStreamHandler(String protocol) {
        protocol = protocol.toLowerCase();
        if ("http".equals(protocol)) {
            return new Handler();
        } else {
            return null;
    public static void main(String[] args) {
        System.out.println("override the default WebLogic Server" +
                           " HTTP stream handler");
        try {
                    .setURLStreamHandlerFactory(new MyURLStreamHandlerFactory());
        } catch (Exception e) {
            System.err.println("Exception while setting" +
                               " the URLStreamHandlerFactory object" + e);

JDK 1.4.2_11
Weblogic 8.1 sp6

Weblogic Server Command-Line Reference


2012/03/19 - Posted by | Application Server |

2 則迴響 »

  1. Thanks to my father who stated to me regarding this web site, this website is truly awesome.

    迴響 由 football quotes | 2014/03/01 | 回應

  2. Hi there! Do you know if they make any plugins to assist with Search Engine Optimization? I’m trying to get my blog
    to rank for some targeted keywords but I’m not seeing very
    good success. If you know of any please share. Appreciate it!

    迴響 由 acorn tree | 2014/06/13 | 回應



WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )


您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

%d 位部落客按了讚: