小编ret*_*dev的帖子

什么是Weld,JSR-299?

我发现了许多显示Weld代码示例的教程,但没有介绍性的概述.

您能否请一篇介绍性文章,或回答以下问题:

  • Weld做什么/给你什么?
  • 它与Java EE 6有什么关系?
  • 如何在Java EE 6项目中使用它?
  • 如果在Java EE 6项目中使用它,它取代了什么,如果有的话?

java-ee cdi java-ee-6 jboss-weld

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

通用JSF实体转换器

我正在编写我的第一个Java EE 6 Web应用程序作为学习练习.我没有使用框架,只有JPA 2.0,EJB 3.1和JSF 2.0.

我有一个自定义转换器将存储在SelectOne组件中的JPA实体转换回实体.我正在使用InitialContext.lookup来获取对会话Bean的引用以查找相关的实体.

我想创建一个通用的实体转换器,所以我不必为每个实体创建一个转换器.我以为我会创建一个抽象实体并让所有实体扩展它.然后为抽象实体创建自定义转换器,并将其用作所有实体的转换器.

这听起来是否合理和/或切实可行?

是不是有一个抽象的实体,只是一个转换器来转换任何实体更有意义?在那种情况下,我不确定如何获得对相应会话Bean的引用.

我已经包含了我当前的转换器,因为我不确定我是否以最有效的方式获取对Session Bean的引用.

package com.mycom.rentalstore.converters;

import com.mycom.rentalstore.ejbs.ClassificationEJB;
import com.mycom.rentalstore.entities.Classification;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
import javax.naming.InitialContext;
import javax.naming.NamingException;

@FacesConverter(forClass = Classification.class)
public class ClassificationConverter implements Converter {

    private InitialContext ic;
    private ClassificationEJB classificationEJB;

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {

        try {
            ic = new InitialContext();
            classificationEJB = (ClassificationEJB) ic.lookup("java:global/com.mycom.rentalstore_RentalStore_war_1.0-SNAPSHOT/ClassificationEJB");

        } catch (NamingException e) {
            throw new ConverterException(new FacesMessage(String.format("Cannot obtain …
Run Code Online (Sandbox Code Playgroud)

java jsf jsf-2

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

"K&R C"仍然适用

我重新学习C; 这已经是好几年了,而熟悉的细微差别已经及时消失了.

我最初是C从K&R 那里学到的.但是,我现在看到很多人在K&R批评批评.

一个主要的例子是http://c.learncodethehardway.org/book/learn-c-the-hard-waych55.html#x61-27200055

主要原因似乎是它的代码风格过于简洁,实践不适用于较大的程序并导致内存泄漏或受共享网络可访问系统的攻击.

人们觉得这些批评是否公平?他们对有人学习有用C吗?如果是这样,人们可以推荐一本"现代" C书,最好是Kindle吗?

c

19
推荐指数
1
解决办法
7179
查看次数

EclipseLink本机查询结果导入POJO - [Class]缺少描述符

我正在使用EclipseLink来运行一些Native SQL.我需要将数据返回到POJO中.我按照EclipseLink Docs上的说明进行操作,但收到错误Missing descriptor for [Class]

已命名查询列以匹配POJO的成员变量.我需要做一些额外的映射吗?

POJO:

public class AnnouncementRecipientsFlattenedDTO {

        private BigDecimal announcementId;
        private String recipientAddress;
        private String type;

        public AnnouncementRecipientsFlattenedDTO() {
            super();
        }

        public AnnouncementRecipientsFlattenedDTO(BigDecimal announcementId, String recipientAddress, String type) {
            super();
            this.announcementId = announcementId;
            this.recipientAddress = recipientAddress;
            this.type = type;
        }

    ... Getters/Setters
Run Code Online (Sandbox Code Playgroud)

实体经理致电:

public List<AnnouncementRecipientsFlattenedDTO> getNormalizedRecipientsForAnnouncement(int announcementId) {
    Query query = em.createNamedQuery(AnnouncementDeliveryLog.FIND_NORMALIZED_RECIPIENTS_FOR_ANNOUNCEMENT, AnnouncementRecipientsFlattenedDTO.class);
    query.setParameter(1, announcementId);
    return query.getResultList();
}
Run Code Online (Sandbox Code Playgroud)

jpa eclipselink

16
推荐指数
4
解决办法
3万
查看次数

多个@MappedSuperclass

我正在使用JPA 2.0和EclipseLink 2.2.0.

我有一个@MappedSuperclass,AbstractEntity,它是我提供PK和审核列的所有实体的基础.

我想让另一个@MappedSuperclass扩展该类,并成为TABLE_PER_CLASS继承策略的根.

目前,在使用Maven构建时,我收到了标题错误.

在继承层次结构中是否允许多个@MappedSuperclass?

jpa-2.0

15
推荐指数
2
解决办法
8610
查看次数

澄清C中的char指针

我正在研究K&R第二版,第5章.

在页87,引入字符数组的指针如下:

char *pmessage;
pmessage = "Now is the time";
Run Code Online (Sandbox Code Playgroud)

如何知道这pmessage是一个指向字符数组的指针,而不是指向单个字符的指针?

要扩展,请在第94页上定义以下函数:

/* month_name: return the name of the n-th month */
char *month_name(int n)
{
    static char *name[] = {
        "Illegal month",
        "January", "February", "March",
        ...
    };

    return (n < 1 || n > 12) ? name[0] : name[n];
}
Run Code Online (Sandbox Code Playgroud)

如果只提供了上面的函数声明,那么如何知道是返回单个字符还是字符数组?

如果假设返回来自month_name()一个字符数组并迭代它直到NULL遇到一个,但返回实际上是一个字符,那么是否有可能出现分段错误?

有人可以演示一个指向单个字符与字符数组的指针的声明和赋值,它们对函数的使用以及已经返回的标识?

c pointers character-arrays

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

用户在Java EE中管理安全性

我想在Java EE 6应用程序中保护我的JSF页面.

我想将用户和角色存储在数据库中,并让特权用户通过Web工具管理它们.特权用户会将用户添加到角色并将某些页面设置为需要某些角色才能访问.

在我看来,容器管理的安全性不会让我这样做.JAAS会成为前进的方向吗?

任何建议和示例链接将不胜感激.

java security containers jaas java-ee

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

未解决的<ejb-link>

我正在使用EJB3.1和Glassfish 3.1在NetBeans 7中进行开发.我试图从WAR中的POJO引用JAR中的会话Bean的本地接口.当我部署到Glassfish时,我收到:

SEVERE: Unresolved <ejb-link>: TaskTool-ejb#ContextFacade
SEVERE: Exception while deploying the app [com.oracle.eas_TaskTool-ear_ear_1.0-SNAPSHOT]
SEVERE: Error: Unresolved <ejb-link>: TaskTool-ejb#ContextFacade
Run Code Online (Sandbox Code Playgroud)

我使用NetBeans帮助程序生成代码以引用会话Bean的本地接口,并<ejb-local-ref>为我生成了web.xml中的部分.

@Local
public interface ContextFacadeLocal {
    void create(Context context);
    void edit(Context context);
    void remove(Context context);
    Context find(Object id);
    List<Context> findAll();
    List<Context> findRange(int[] range);
    int count();
    List<Context> findRootContexts();
}

@Stateless
public class ContextFacade extends AbstractFacade<Context> implements ContextFacadeLocal {
    @PersistenceContext(unitName = "TaskToolPU")
    private EntityManager em;

    protected EntityManager getEntityManager() {
        return em;
    }

    public ContextFacade() {
        super(Context.class);
    }

    @Override
    public List<Context> findRootContexts() …
Run Code Online (Sandbox Code Playgroud)

java-ee java-ee-6 ejb-3.1

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

K&R练习1-16 clang - getline的冲突类型

我正在使用K&R,使用Clang作为我的编译器.

使用Clang编译时,练习1-16会产生"getline'的冲突类型"错误.我猜是因为其中一个默认库有一个getline函数.

在编译K&R练习时,我应该向Clang传递哪些选项以避免包含任何其他内容?

要修改的运动样本是:

#include <stdio.h>
#define MAXLINE 1000

int getline(char line[], int maxline);
void copy(char to[], char from[]);

/* print longest input line */
main()
{
  int len; /* current line length */
  int max; /* maximum line lenght seen so far */
  char line[MAXLINE]; /* current input line */
  char longest[MAXLINE]; /* longest line saved here */

  max = 0;

  while ((len = getline(line, MAXLINE)) > 0)
    if ( len > max) {
      max = len;
      copy(longest, line); …
Run Code Online (Sandbox Code Playgroud)

c clang

3
推荐指数
1
解决办法
2279
查看次数

K&R似乎更喜欢预增量

我正在通过K&R工作,现在正在练习1-16.我发现到目前为止,书中只使用了预增量.

大多数其他教程书籍和我见过的源代码往往倾向于后增量,除非有明显的影响,例如while循环等.

这是K&R的风格或技术考虑吗?或者我只是需要进一步完成这本书以获得我的答案?!

c pre-increment post-increment

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

readonly public,readwrite private property

我看到了这个帖子,但是在iOS7中并没有完全清楚,因为编程指南说你可以省略@synthesise属性的关键字.

我想有一个@propertyreadonly外部,而是readwrite内部.我可以只使用这样的@property关键字吗?

编辑:提供的答案将被认为更正确,或者至少更为惯用.要readwrite在类扩展中拥有单独的属性,还是直接在实现中访问ivar?

编辑:显示我正在使用类扩展,如答案中所示.

//.h
@interface CACustomerAuthenticator : NSObject
@property (nonatomic, copy, readonly) NSString *username;
@end

//.m
@interface CACustomerAuthenticator ()
@property (nonatomic, copy, readwrite) NSString *username;
@end
Run Code Online (Sandbox Code Playgroud)

encapsulation properties objective-c ios

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

如何在Java中强制使用常量

我正在使用JAX-RS来创建REST Web服务.

我需要公开访问@Path我的Resource类上的注释的值.使用反射来获得这个值似乎有点沉重.

我以为我会将值保存在a中public static final String,以便@Path注释和其他类都可以访问它.

要求Class提供此常量的最佳方法是什么?我的印象是在接口中使用常量是一种反模式(Effective Java 2nd Edition).

编辑:

正如有效Java所说:"如果常量与现有类或接口紧密相关,则应将它们添加到类或接口中".

在我的情况下,@Path接口的所有实现者都是一样的,接口将提供方法,所以我认为我可以安全地将常量添加到接口.

java interface constants

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