小编bdo*_*han的帖子

Java EE环境中的单元测试

我们正在将我们的应用程序迁移到Java EE容器中,并寻找用于我们迁移的应用程序的单元测试(和集成测试)的工具.我们的要求包括:

  • 临时测试:按需手动运行测试的能力(开发人员在开发代码时使用)
  • 批量测试:定期运行大量(且不断增长的)测试集的能力
  • In-Container:在容器中部署EJB时使用EJB的集成测试
  • 单元测试:不一定在EJB上下文中测试类
  • 很高兴:设置简单,与ant/IDE集成
  • 无需测试Servlet/JSP - 仅限POJO和EJB

您在Java EE环境中使用什么来实现测试?您部署了哪些技术/设置?

我的研究发现了Cactus和JUnitEE:你有成功的设置吗?

java unit-testing java-ee

5
推荐指数
1
解决办法
1254
查看次数

Java EE 6 中的编程身份验证

是否可以在 Java EE 6 中以编程方式对用户进行身份验证?

让我解释一下更多细节:

我有一个带有 Servlet 和 hibernate 的现有 Java SE 项目;我手动管理所有身份验证和访问控制:

class Authenticator {
    int Id
    string username
}

Authenticator login(string username, string password) ;

void doListData(Authenticator auth) {
    if (isLoggedIn(auth)) listData();
    else doListError
}

void doUpdateData (Authenticator auth) {
    if (isLoggedAsAdmin(auth)) updateData() ;
    else doListError();
}

void doListError () {
    listError() ;
}
Run Code Online (Sandbox Code Playgroud)

我在这个项目中集成了 J2ee/jpa/servlet 3/... (Glassfish 3)。

我见过这样的注释:

@RolesAllowed ("viewer")
void doListdata (...) {
    istData() ;
}

@RolesAllowed("admin")
void doUpdateData (...) {
    updateData() …
Run Code Online (Sandbox Code Playgroud)

java security rbac java-ee-6 jakarta-ee

5
推荐指数
1
解决办法
4660
查看次数

Java EE新手; 服务/守护进程的架构建议?

我是Java EE世界的新手.作为一个尝试熟悉Java EE的练习,我正在尝试创建一个分层的Web应用程序,但我有点卡在最好的方法是在后台启动服务工作.

服务参数:

  • 它必须打开并保持套接字连接并从连接的服务器接收信息.
  • 用户与新套接字连接之间存在一对一的关联.

因此,想法是用户按下网页上的按钮,并在服务器上的某个位置打开套接字连接.对于剩余的用户会话(或者直到用户按下某种断开按钮),套接字保持打开状态并将接收的信息推送到某种集中式存储,servlet可以通过AJAX查询并返回给用户.

是否有Java EE类型的方法来处理这种情况?当然,我想要做的就是编写一个Java应用程序来监听servlet可以连接的端口并生成打开这些套接字的新线程,但这对我来说似乎非常特别.

(PS:我也是Stack Overflow的新手,所以请原谅我,如果我需要一些时间来计算网站!)

java sockets service daemon java-ee

5
推荐指数
1
解决办法
1226
查看次数

NPE在JAX-RS中抛出编组实体

我有一个JAX-RS Web服务,它使用JPA实体类.我有一个像这样的资源类:

@Path("/entity")
public class MyEntityResource
{
    @GET
    @Produces(MediaType.APPLICATION_XML)
    @Path("/{entity}")
    public MyEntity getMyEntity(@PathParam("entity") String entity)
    {
        log.debug("Entering getMyEntity with param: " + entity);
        MyEntity entityObject = genericService.find(MyEntity.class, entity);

        if (entityObject == null)
        {
            log.debug("Entity not found.");
            throw new WebApplicationException(Response.Status.NOT_FOUND);
        }

        log.debug("Exiting getMyEntity");

        return entityObject;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行该服务并对该实体进行get调用时,我收到此错误:

SEVERE: The response of the WebApplicationException cannot be utilized as the response is already committed. Re-throwing to the HTTP container
javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException
 - with linked exception:
[Exception [EclipseLink-25003] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): …
Run Code Online (Sandbox Code Playgroud)

jpa jax-rs jaxb eclipselink moxy

5
推荐指数
1
解决办法
3708
查看次数

没有无限循环的JAX WS服务上的Jpa实体

如何通过JAX WS Web服务发送JPA生成的实体,而不会因为这些实体中的引用循环而获得XML无限循环异常?

任何的想法?我发现这个MOXy可以做到......部分.但是我已经生成了实体,并且手动将XmlTransient和这样的注释添加到每个实体中都很疯狂.

你还有其他想法怎么做吗?

谢谢!

web-services jpa jaxb eclipselink moxy

5
推荐指数
1
解决办法
1490
查看次数

如何拥有自定义命名空间前缀

我是JAXB的新手.我能够填充XML.在我的情况下,我需要我的名称空间前缀

<set xmlns="www.google.com"
   xmlns:myName="www.google.com">
Run Code Online (Sandbox Code Playgroud)

代替

<set xmlns="www.google.com"
   xmlns:ns2="www.google.com">
Run Code Online (Sandbox Code Playgroud)

我使用了package-info类和@XmlType注释.我是否需要添加任何变量来获取第二个命名空间的所需名称,如"xmlns:MyName"而不是"xmlns:ns2"?

jaxb

5
推荐指数
1
解决办法
7246
查看次数

@XmlDiscriminatorNode/@XmlDecriminatorValue 不适用于 WebLogic Server

以下是我用于在 WebLogic 10.3.2 版本上使用 MOXy JAXB 转换创建子类的类。我正在使用 EclipseLink 2.4.1 MOXy 来生成 XML。我无法在以下代码中生成 type 属性。如果我在这里做错了什么,请告诉我。

我正在使用 EclipseLink MOXy 2.4.1 和 WebLogic 10.3.2 并且在 WebLogic 中配置了 MOXy 2.4.1

import javax.xml.bind.annotation.*;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorNode;

@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlDiscriminatorNode("@type")
public abstract class BaseEntity {

    private String firstName;
    private String lastName;

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

}
Run Code Online (Sandbox Code Playgroud)

子类

package forum13831189;

import …
Run Code Online (Sandbox Code Playgroud)

jaxb eclipselink weblogic-10.x moxy

5
推荐指数
1
解决办法
1709
查看次数

Jackson marshal XMLAttribute获得"null"值

我对JAXB/Jackson编组有一个问题.我有这样的注释

@XmlAttribute(name = "private")
protected Boolean mPrivate;
Run Code Online (Sandbox Code Playgroud)

如果mPrivate变量是,我希望这个属性不存在null.

如果输出是XML,这可以正常工作.但如果我使用杰克逊切换到JSON,输出就是

xxxxxxx, "private":null, xxxxxxxx
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么会发生这种情况以及如何解决这个问题?提前致谢.

annotations jaxb xml-attribute jackson

5
推荐指数
1
解决办法
1304
查看次数

MOXy @XmlPath被忽略了

我有一个非常简单的类,有两个字段,String sourceAddress和int port.
我希望它们映射到源/地址和源/端口节点,而不是jaxb默认的sourceAddress和sourcePort.
所以我使用MOXy @XmlPath注释.
问题是注释只是被忽略,我得到"jaxb默认"xml文件:

<szk>
    <sourceAddress>test</sourceAddress>
    <sourcePort>10000</sourcePort>
</sz>
Run Code Online (Sandbox Code Playgroud)

提前感谢任何帮助Agostino

import javax.xml.bind.*;
import javax.xml.bind.annotation.*;
import org.eclipse.persistence.jaxb.JAXBContext;
import org.eclipse.persistence.oxm.annotations.XmlPath;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SZK {

    @XmlPath("source/address")
    private String sourceAddress;
    @XmlPath("source/port")
    private int sourcePort;

    public static void main (String [] args) throws JAXBException{

        SZK k = new SZK();
        k.sourceAddress = "test";
        k.sourcePort = 10000;

        javax.xml.bind.JAXBContext jc = JAXBContext.newInstance(SZK.class);
        Marshaller m = jc.createMarshaller();
        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        m.marshal(k, System.out);

    }

}

jaxb eclipselink moxy

4
推荐指数
1
解决办法
2325
查看次数

单声道MCS中的C#6.0字符串插值

我正在使用最新的Mono 3.12.1.除了字符串插值之外,所有C#6功能都适用于我.我正在使用MCS编译器.

这是我的代码:

const string someString = "Some String";
var str = $"string: {someString}";
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error CS1056: Unexpected character `$'
Run Code Online (Sandbox Code Playgroud)

Mono支持字符串插值吗?

mono c#-6.0

4
推荐指数
1
解决办法
1485
查看次数