高分寻求帮助java反编译2
昨天晚上发布了一个求助帖,今天早上就被云上飞翔给干脆的解决掉了,CSDN给了我不小的惊喜。
今天尝试反编译另外一个类时,又进行不下去,请求大家的帮助.
只要反编译出run()方法即可(已标红), 非常感谢.
package com.wowza.wms.plugin.loadbalancer;
public class LoadBalancerSender
implements Runnable
{
class LBTarget
{
String host;
int port;
String key;
boolean visited;
String targetId;
int msgSeq;
boolean errorReported;
int msgsSent;
final LoadBalancerSender this$0;
public LBTarget(String s, String s1, int i, String s2)
{
this$0 = LoadBalancerSender.this;
super();
host = null;
port = 8083;
key = null;
visited = false;
targetId = null;
msgSeq = 0;
errorReported = false;
msgsSent = 0;
targetId = s;
host = s1;
port = i;
key = s2;
}
}
public static final int MESSAGE_HEADERSIZE = 34;
private File targetFile;
private long targetFileLastModified;
private long targetFileLength;
private boolean targetReadTwice;
private Map targets;
private Object lock;
private int status;
private DatagramSocket udpSocket;
private int maxPacketSize;
private WMSProperties properties;
private Random rnd;
private UUID guid;
private ILoadBalancerMonitor loadBalancerMonitor;
private String redirectAddress;
private boolean reportedMissingTargetFile;
public LoadBalancerSender()
{
targetFile = null;
targetFileLastModified = -1L;
targetFileLength = -1L;
targetReadTwice = false;
targets = new HashMap();
lock = new Object();
status = 0;
udpSocket = null;
maxPacketSize = 4096;
properties = new WMSProperties();
rnd = null;
guid = null;
loadBalancerMonitor = null;
redirectAddress = null;
reportedMissingTargetFile = false;
}
public void init()
{
maxPacketSize = properties.getPropertyInt("maxPacketSize", maxPacketSize);
rnd = new Random(System.currentTimeMillis());
guid = UUID.fromString(Server.getInstance().getGUID());
}
public WMSProperties getProperties()
{
return properties;
}
private DatagramSocket getSocket()
{
Object obj = lock;
JVM INSTR monitorenter ;
if(udpSocket == null)
{
try
{
udpSocket = new DatagramSocket(null);
udpSocket.setTrafficClass(0);
udpSocket.setReceiveBufferSize(16384);
udpSocket.setReuseAddress(true);
udpSocket.setSoTimeout(0);
}
catch(Exception exception)
{
}
}
return udpSocket;
Exception exception1;
exception1;
throw exception1;
}
public void shutdown()
{
synchronized(lock)
{
if(udpSocket != null)
{
try
{
udpSocket.close();
}
catch(Exception exception)
{
}
}
udpSocket = null;
}
}
private void unvisit()
{
synchronized(lock)
{
for(Iterator iterator = targets.values().iterator(); iterator.hasNext();)
{
LBTarget lbtarget = (LBTarget)iterator.next();
lbtarget.visited = false;
}
}
}
private void clearUnvisited()
{
synchronized(lock)
{
ArrayList arraylist = new ArrayList();
for(Iterator iterator = targets.keySet().iterator(); iterator.hasNext();)
{
String s = (String)iterator.next();
LBTarget lbtarget = (LBTarget)targets.get(s);
if(!lbtarget.visited)
{
arraylist.add(s);
}
lbtarget.visited = false;
}
String s1;
for(Iterator iterator1 = arraylist.iterator(); iterator1.hasNext(); targets.remove(s1))
{
s1 = (String)iterator1.next();
}
}
}
public File getTargetFile()
{
Object obj = lock;
JVM INSTR monitorenter ;
return targetFile;
Exception exception;
exception;
throw exception;
}
public void setTargetFile(File file)
{
synchronized(lock)
{
targetFile = file;
}
}
public void parseEdgeList()
{
}
public int getStatus()
{
return status;
}
public void setStatus(int i)
{
status = i;
}
public int getMaxPacketSize()
{
return maxPacketSize;
}
public void setMaxPacketSize(int i)
{
maxPacketSize = i;
}
public void run()
{
boolean flag;
try
{
label0:
{
synchronized(lock)
{
if(targetFile != null)
{
break label0;
}
}
break MISSING_BLOCK_LABEL_295;
}
}
catch(Exception exception)
{
}
break MISSING_BLOCK_LABEL_295;
flag = targetFileLastModified == -1L || targetReadTwice;
targetReadTwice = false;
if(!flag)
{
if(targetFile.exists())
{
reportedMissingTargetFile = false;
if(targetFileLastModified != targetFile.lastModified() || targetFileLength != targetFile.length())
{
flag = true;
targetReadTwice = true;
}
} else
if(!reportedMissingTargetFile)
{
reportedMissingTargetFile = true;
}
}
if(!flag)
{
break MISSING_BLOCK_LABEL_246;
}
if(targetFile.exists())
{
break MISSING_BLOCK_LABEL_212;
}
if(!reportedMissingTargetFile)
{
reportedMissingTargetFile = true;
}
obj;
JVM INSTR monitorexit ;
break MISSING_BLOCK_LABEL_295;
unvisit();
parseEdgeList();
clearUnvisited();
targetFileLastModified = targetFile.lastModified();
targetFileLength = targetFile.length();
sendMessage();
obj;
JVM INSTR monitorexit ;
break MISSING_BLOCK_LABEL_295;
exception1;
throw exception1;
}
public void sendMessage()
{
}
public void pause()
{
synchronized(lock)
{
status = 2;
run();
}
}
public void unpause()
{
synchronized(lock)
{
status = 1;
run();
}
}
public ILoadBalancerMonitor getLoadBalancerMonitor()
{
return loadBalancerMonitor;
}
public void setLoadBalancerMonitor(ILoadBalancerMonitor iloadbalancermonitor)
{
loadBalancerMonitor = iloadbalancermonitor;
}
public String getRedirectAddress()
{
return redirectAddress;
}
public void setRedirectAddress(String s)
{
redirectAddress = s;
}
}