51,396
社区成员




<servlet>
<servlet-name>smcInitServlet</servlet-name>
<servlet-class>com.xxx.common.util.InitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
public class InitServlet extends HttpServlet
{
/**
* 日志对象
*/
private Log logger = LogFactory.getLog(InitServlet.class);
/**
* 初始化项目所需
* {@inheritDoc}
*/
public void init(ServletConfig servletConfig)
throws ServletException
{
logger.error(".....new License therad...");
new Thread(new License()).start();
}
}
public class License implements Runnable
{
/**
* 注释内容
*/
private static final long serialVersionUID = 1L;
/**
* 日志对象
*/
private static Log logger = LogFactory.getLog(License.class);
static
{
int i = 0;
try
{
logger.error("loadLibary start...");
System.loadLibrary("License");
i = 1;
logger.error("load Libary OK...");
}
catch (Exception e)
{
i = 2;
// TODO Auto-generated catch block
logger.error("load error");
e.printStackTrace();
Runtime runtime = Runtime.getRuntime();
try
{
i = 3;
logger.error("load libLicense.so error, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
i = 4;
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
finally
{
logger.error("i = " + i);
if (i == 0)
{
Runtime runtime = Runtime.getRuntime();
try
{
logger.error("load libLicense.so error, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
private native boolean verifylicense();
@Override
public void run()
{
System.getProperty("java.library.path");
logger.error("java.library.path:" + System.getProperty("java.library.path"));
// TODO Auto-generated method stub
logger.error("into init() method..");
License l = new License();
Object o = l.verifylicense();
logger.error("return value is: " + o.toString());
if (!l.verifylicense())
{
logger.error("verifylicense ERROR");
Runtime runtime = Runtime.getRuntime();
try
{
logger.error("verifylicense failed, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
else
{
logger.error("verifylicense OK");
}
logger.error("after verifylicense~~~~");
}
}
public class License
{
/**
* 注释内容
*/
private static final long serialVersionUID = 1L;
/**
* 日志对象
*/
//private static Log logger = LogFactory.getLog(License.class);
static
{
int i = 0;
try
{
logger.error("loadLibary start...");
System.loadLibrary("License");
i = 1;
logger.error("load Libary OK...");
}
catch (Exception e)
{
i = 2;
// TODO Auto-generated catch block
logger.error("load error");
e.printStackTrace();
Runtime runtime = Runtime.getRuntime();
try
{
i = 3;
logger.error("load libLicense.so error, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
i = 4;
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
finally
{
logger.error("i = " + i);
if (i == 0)
{
Runtime runtime = Runtime.getRuntime();
try
{
logger.error("load libLicense.so error, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
private native boolean verifylicense();
public static void main(String[] args)
{
System.getProperty("java.library.path");
logger.error("java.library.path:" + System.getProperty("java.library.path"));
// TODO Auto-generated method stub
logger.error("into init() method..");
License l = new License();
Object o = l.verifylicense();
logger.error("return value is: " + o.toString());
if (!l.verifylicense())
{
logger.error("verifylicense ERROR");
Runtime runtime = Runtime.getRuntime();
try
{
logger.error("verifylicense failed, killall java");
runtime.exec("killall java");
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
else
{
logger.error("verifylicense OK");
}
logger.error("after verifylicense~~~~");
}
}