我有一个glassfish服务器运行.它有3个不同的域 - d1,d2和d3.现在当我尝试运行asadmin enable-secure-admin
命令时,如何指定我想启用哪个域?
一个新手问题:无论如何,我可以根据我在属性文件中设置的条件注入不同的bean.这就是我想要实现的目标:
我在属性文件中设置了一些值.如果这是真的,那么我想
public class MyClass{
@EJB
private MyBean bean;
}
Run Code Online (Sandbox Code Playgroud)
如果它是假的,那么
public class MyClass{
@EJB
private MyBean2 bean2;
}
Run Code Online (Sandbox Code Playgroud)
这可行吗?
我在Windows XP上使用Glassfish3.1.使用Netbeans部署Web服务项目后,它可以正常工作.但是当我去的时候
install-path\glassfish-3.1\glassfish\domains\domain1\applications
Run Code Online (Sandbox Code Playgroud)
我没有看到我的申请.
在install\glassfish-3.1\glassfish\domains\domain1\applications\__internal
,有一个与我的项目同名的文件夹.但那个文件夹是空的.
但是如果我在linux上部署一个项目,我可以在application
文件夹下找到我的应用程序和类.
那么它们在windows上的哪个位置?
我正在使用BufferedReader.readLine()
方法从远程服务器读取响应(用C语言编写,我无法访问源代码).
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while((line = br.readLine())!=null){
[...]
}
Run Code Online (Sandbox Code Playgroud)
但它总是阻塞在最后一行,直到它超时.所以我使用了以下代码:
int b;
while(true){
b = in.read;
[...]
}
Run Code Online (Sandbox Code Playgroud)
我发现读取的最后一个字节的整数值为13,我认为这是一个回车,对吧?
那么为什么readLine
方法会阻塞?服务器通常如何发出信号流结束信号?谢谢.
说如果有一个synchronized方法并且在该方法中,我更新一个这样的hashmap:
public synchronized void method1()
{
myHashMap.clear();
//populate the hashmap, takes about 5 seconds.
}
Run Code Online (Sandbox Code Playgroud)
现在当method1正在运行并且正在重新填充hashmap时,如果还有其他线程要获取hashmap的值,我认为它们会被阻塞吗?
现在,如果我将hashmap更改为ConcurrentHashMap,而不是使用sync方法,那么行为是什么?
public void method1()
{
myConcurrentHashMap.clear();
//populate the hashmap, takes about 5 seconds.
}
Run Code Online (Sandbox Code Playgroud)
如果我使用Collections.synchronizedMap怎么办?它是一样的吗?
所以我使用以下命令在文件上创建一个锁,以便我可以独占编辑它:
File file = new File(filename);
channel = new RandomAccessFile(file, "rw").getChannel();
lock = channel.tryLock();
Run Code Online (Sandbox Code Playgroud)
现在我有第二个线程想要访问同一个文件 - 只是为了阅读,而不是编辑.我怎么做?现在第二个线程将抛出一个io异常并通知我该文件已被锁定.
这可行吗?有什么建议?谢谢
我正在使用ClickOnce来部署C#应用程序.它仅在线提供,因此我无法禁用应用程序以在每次启动时检查更新.
每次从url启动时,您都会看到"验证应用程序要求"窗口.这可以.但是,此窗口消失所需的时间差别很大.有时它是即时的,有时需要几秒钟.任何人都知道为什么会这样,以及如何加快这个验证过程?
我正在使用process p = Runtime.getRuntime().exec("explorer myURL")
启动应用程序.我不知道这是否重要或是否有更好的方法?(我从Java应用程序启动此应用程序)
步骤1,我使用以下命令从命令行窗口获取本地IE版本:
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v version"
Run Code Online (Sandbox Code Playgroud)
它会工作,并给我这样的IE版本:
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
version REG_SZ 7.0.5730.13
Run Code Online (Sandbox Code Playgroud)
第2步,现在我尝试使用此命令:
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v version" | find "version"
Run Code Online (Sandbox Code Playgroud)
它会失败并告诉我以下内容:
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Error: The system was unable to find the specified registry key or value
Run Code Online (Sandbox Code Playgroud)
第3步,现在如果我回到第一个命令:
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v version"
Run Code Online (Sandbox Code Playgroud)
它会给我与步骤2中相同的错误.我不明白为什么第2步会失败,为什么第3步会失败,因为它与第1步相同.
假设我开始了一个帖子,我有这样的事情:
...//initiate all the socket connection
future = executor.submit
( new Runnable()
{ public void run()
{ ...
...
while ((str = in.readLine()) != null)
{ //do something here
}
}
);
Run Code Online (Sandbox Code Playgroud)
executor是一个ExecutorService对象,并且是一个BufferedReader对象
我知道你可以从另一个线程关闭套接字来中断这个线程.但是当我尝试使用future.cancel(true)方法时,即使它返回true,线程似乎仍然在运行,任何人都知道为什么?或in.readLine()不能以这种方式中断?
所以我有一个简单的Web服务:
@WebMethod(operationName="getBookList")
public HashMap<Integer,Book> getBookList()
{
HashMap<Integer, Book> books = new HashMap<Integer,Book>();
Book b1 = new Book(1,"title1");
Book b2 = new Book(2, "title2");
books.put(1, b1);
books.put(2, b2);
return books;
}
Run Code Online (Sandbox Code Playgroud)
书类也很简单:
public class Book
{
private int id;
private String title;
public int getId()
{
return id;
}
public String getTitle()
{
return title;
}
public Book(int id, String title)
{
id = this.id;
title = this.title;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当您在浏览器的测试仪中调用此Web服务时,我得到:
Method returned
my.ws.HashMap : "my.ws.HashMap@1f3cf5b"
SOAP Request
...
...
SOAP …
Run Code Online (Sandbox Code Playgroud)