小编neo*_*neo的帖子

Glassfish 3.1.1 - 如何为不同的域启用安全管理?

我有一个glassfish服务器运行.它有3个不同的域 - d1,d2和d3.现在当我尝试运行asadmin enable-secure-admin命令时,如何指定我想启用哪个域?

glassfish

37
推荐指数
2
解决办法
7万
查看次数

根据条件注入@EJB bean

一个新手问题:无论如何,我可以根据我在属性文件中设置的条件注入不同的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)

这可行吗?

ejb java-ee

14
推荐指数
1
解决办法
1万
查看次数

在Windows上部署后,glassfish在哪里保存您的类/项目?

我在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上的哪个位置?

windows deployment netbeans glassfish-3

12
推荐指数
1
解决办法
2万
查看次数

套接字:BufferedReader readLine()块

我正在使用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方法会阻塞?服务器通常如何发出信号流结束信号?谢谢.

java sockets bufferedreader java-io

12
推荐指数
1
解决办法
2万
查看次数

Java synchronized block vs concurrentHashMap vs Collections.synchronizedMap

说如果有一个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怎么办?它是一样的吗?

java synchronization

8
推荐指数
2
解决办法
9588
查看次数

在Java中,当该文件被其他线程锁定时,有没有办法读取文件?

所以我使用以下命令在文件上创建一个锁,以便我可以独占编辑它:

 File file = new File(filename);
 channel = new RandomAccessFile(file, "rw").getChannel();
 lock = channel.tryLock();
Run Code Online (Sandbox Code Playgroud)

现在我有第二个线程想要访问同一个文件 - 只是为了阅读,而不是编辑.我怎么做?现在第二个线程将抛出一个io异常并通知我该文件已被锁定.

这可行吗?有什么建议?谢谢

java file-io filelock

7
推荐指数
1
解决办法
2956
查看次数

如何加快"验证应用程序要求"窗口?

我正在使用ClickOnce来部署C#应用程序.它仅在线提供,因此我无法禁用应用程序以在每次启动时检查更新.

每次从url启动时,您都会看到"验证应用程序要求"窗口.这可以.但是,此窗口消失所需的时间差别很大.有时它是即时的,有时需要几秒钟.任何人都知道为什么会这样,以及如何加快这个验证过程?

我正在使用process p = Runtime.getRuntime().exec("explorer myURL")启动应用程序.我不知道这是否重要或是否有更好的方法?(我从Java应用程序启动此应用程序)

.net clickonce

7
推荐指数
1
解决办法
4147
查看次数

从命令行查询Internet Explorer版本并不总是有效?

步骤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步相同.

scripting command-line cmd

6
推荐指数
2
解决办法
2万
查看次数

你能用Future.cancel(true)中断BufferedReader.readLine()吗?

假设我开始了一个帖子,我有这样的事情:

 ...//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()不能以这种方式中断?

java multithreading java.util.concurrent

6
推荐指数
1
解决办法
4088
查看次数

JAX-WS:如何使SOAP响应返回HashMap对象

所以我有一个简单的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)

ajax jquery soap web-services jax-ws

6
推荐指数
1
解决办法
2万
查看次数