ITPub博客

首页 > 应用开发 > Java > Weblogic 只允许能连接5个IP的解决办法

Weblogic 只允许能连接5个IP的解决办法

原创 Java 作者:nmtcolin 时间:2008-04-28 15:52:20 0 删除 编辑

Weblogic 只允许能连接5个IP的解决办法

0. Weblogic试用版只允许连接5个不同IP, 尽管可重新启动weblogic server可以重新获取5个IP,
对于开发测试环境来说, 对于开发测试来说很不方便, 也不可能购买Weblogic的licences.


1. shell scripts & Java command
local_port: 12345
host: ydc062
remote_port: 8080

java -classpath ./Relay.jar Relay 12345 ydc062 8080

2. 使用方法
http://ydc062:8080(limit 5 ip)

http://ydc062:12345(not limit forward to above access)


3. Java source code

/**
* DataRelay.java
*/
import java.io.InputStream;
import java.io.OutputStream;

public class DataRelay implements Runnable {
private InputStream in;

private OutputStream out;

public void run() {
byte abyte0[] = new byte[4096];
try {
do {
int i = in.read(abyte0);
if (i == 0)
break;
out.write(abyte0, 0, i);
} while (true);
try {
in.close();
} catch (Exception exception) {
}
try {
out.close();
} catch (Exception exception1) {
}
} catch (Exception exception2) {
try {
in.close();
} catch (Exception exception3) {
}
try {
out.close();
} catch (Exception exception4) {
}
}
}

public DataRelay(InputStream inputstream, OutputStream outputstream) {
in = inputstream;
out = outputstream;
}
}


/**
* Relay.java
*/
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Relay implements Runnable {

public int listenPort;

public String relayHost;

public int relayPort;

public Relay() {
}

public Relay(int i, String s, int j) {
listenPort = i;
relayHost = s;
relayPort = j;
}

public void run() {
try {
ServerSocket serversocket = new ServerSocket(listenPort);
do {
Socket socket = serversocket.accept();
try {
Socket socket1 = new Socket(relayHost, relayPort);
startRelay(socket.getInputStream(), socket1
.getOutputStream());
startRelay(socket1.getInputStream(), socket
.getOutputStream());
} catch (Exception exception1) {
exception1.printStackTrace();
socket.close();
}
} while (true);
} catch (Exception exception) {
exception.printStackTrace();
}
}

public void startRelay(InputStream inputstream, OutputStream outputstream)
throws IOException {
DataRelay datarelay = new DataRelay(inputstream, outputstream);
Thread thread = new Thread(datarelay);
thread.start();
}

public static void main(String args[]) {
if (args.length < 3) {
System.out.println("-------------------------------------------");
System.out.println("Usage: ./Relay local_port host remote_port");
System.out.println("-------------------------------------------");
System.exit(0);
}
int i = 0;
try {
i = Integer.parseInt(args[0]);
} catch (Exception exception) {
System.out.println("Invalid local port: " + args[0]);
System.exit(0);
}
int j = 0;
try {
j = Integer.parseInt(args[2]);
} catch (Exception exception1) {
System.out.println("Invalid remote port: " + args[2]);
System.exit(0);
}
Relay relay = new Relay(i, args[1], j);
relay.run();
}

}

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4082/viewspace-1003120/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
radarlab 金融其实很简单!

注册时间:2009-02-10

  • 博文量
    31
  • 访问量
    602262