小编Whi*_*cal的帖子

Liferay:从init()获取PortletID和companyID

也许在init(PortletConfig)中通过PortletConfig

事情是使用

((PortletConfigImpl) portletConfig).getPortletId();
Run Code Online (Sandbox Code Playgroud)

是不允许的,因为在package.properties中添加portal-impl.jar会在尝试执行build ant target时抛出异常,说不再允许这样做

对于companyID,我直接不知道从哪里开始.我目前正在使用

long companyId = CompanyLocalServiceUtil.getCompanies().get(0).getCompanyId();
Run Code Online (Sandbox Code Playgroud)

但是一旦我有一家以上的公司,它就会失败

如果我能以某种方式得到Portlet对象,我认为这足以获得portletId和companyId

java portlet init liferay

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

将应用程序属性中的角色列表注入@PreAuthorize

SPEL 有什么技巧,所以我可以在 application.yml 中定义我的管理员角色,然后将它们直接加载到类似的内容中:

@PreAuthorize("hasAnyRole(${my.security.admin-roles-list})")
Run Code Online (Sandbox Code Playgroud)

……?

java spring authorization spring-security spring-boot

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

Java Generics(简单的案例,用于推断的明确谜)

我有这门课,仅仅是为了学习:

public class MyClass{ //Looking for a solution without making my class also generic <Type>  

    //Private Arraylist var to hold the value called myvar 

   public MyClass(ArrayList<MyDesiredType> incoming) {
        //CODE   myVar=incoming  
    }

    public MyDesiredType getType() {
        return myVar.get(0);
    }   
}
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以在传入对象中从构造函数推断到方法的返回类型而没有警告和转换以及失去类型安全性,但最重要的是没有使整个类GENERIC(对我来说似乎多余)?如果没有,为什么我认为这对编译器不可行?

这是我已经做过的重新提出的问题,但这是我的第一个问题,我学会了如何将其公开,因为没有人理解.我试图稍后编辑原始问题,但一切都被埋没了.我改变并简化了示例,并尝试放轻松.原始问题:Java Generics Silly Thing(为什么我不能推断出这种类型?).

如果有任何问题,请告诉我,我会删除它.

java generics constructor types inference

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

用于否定除a =!a之外的布尔变量的任何快捷运算符

只是为了学习的缘故,我尝试了java doc,但我没有找到它.也许某些特殊技巧与任何运营商一样!!--

我喜欢自动增量 i++ = i=i+i

java boolean variable-assignment operator-keyword

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

为什么List <type>在编译和执行时吸收not-type元素?

我有这个演示,我不需要一个具有重绘架构的特定解决方案,但只是理解为什么这样做以及我为避免它而遗漏的任何事情.我想知道为什么:

  • 编译器允许将不是列表类型的元素插入到列表中
  • 当我们尝试获取元素而不是推送它时抛出ClassCast异常

    import Test.*; //Inner classes
    import java.util.List;
    import java.util.ArrayList;
    
    public class Test<E extends Object> {
    
        private List<E> list = new ArrayList<E>();
        public Test() {}
    
        public static void main(String[] args) {
            Test<String> a = new Test<String>();
            a.addElement(new String());
            a.addElement(new Integer(0)); // No complain in comp/run-time, I dont understand why CastException is not thrown here
            String class1 = a.getElement(0); 
            String class2 = a.getElement(1); //No complain in comp but ClassCastException: Integer cannot be cast to String
            //Integer class3 = a.getElement(1); //Compilation …
    Run Code Online (Sandbox Code Playgroud)

java generics types casting exception

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

如何获得unmodifiableLinkedHashSet

Collections.unmodifiableCollection(),Collections.unmodifiableSet()但没有Collections.unmodifiableLinkedHashSet()

保留订单的正确选择是什么?

java collections java-8

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

如何在类定义中捕获泛型类型中的子类型?

我不敢相信如果没有将类输入到冗余的2类类中,我就无法捕获P:

public class MyClass<T extends List<P>> {

   T getList(/**/){}
   P getRandomElement(){ /**/ }
}
Run Code Online (Sandbox Code Playgroud)

我是否真的需要定义和实例化MyClass MyClass<String,ArrayList<String>>,因此无法推断它?

编辑:我的意思是我看到冗余必须定义MyClass<P,T extends List<P>>因为那时我需要实例化它总是作为MyClass<String,ArrayList<String>>,并随身携带字符串.如果语言允许这样的话会很好

MyClass<L extends List<P>>或类似的.这样,在执行时和MyClass<ArrayList<String>>返回ArrayList<String>执行时会很好地返回.getList()StringgetRandomElement()

java generics types type-inference java-8

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

迁移 JMS 事件监听 Spring 与 Spring Boot 集成的正确最终方法

我得到了一个JmsConfig配置类,它通过以下方式处理来自主题的 JMS 事件:

  • 它定义了一个 @Bean ConnectionFactory,包含一个 ActiveMQ 实现
  • 它定义了一个@Bean JmsListenerContainerFactory实例化 aDefaultJmsListenerContainerFactory并通过 Boot 的DefaultJmsListenerContainerFactoryConfigurer
  • 它定义了一个@Bean MessageConverter包含一个MappingJackson2MessageConverter并设置一个自定义ObjectMapper
  • @JmsListener在我的服务方法上使用指向 myfactory 的注释。这是我对该主题的唯一用途,仅订阅。

现在我想转到Spring Integration。在阅读了很多之后,如果我不需要双向使用(丢弃网关)也不需要轮询机制(丢弃@InboundChannelAdapter),我将寻求一个message-driven-channel-adapter传统的 XML 配置措辞。我发现 Java 习惯用法应该通过新的 Spring Integration DSL 库来完成,因此,我寻找合适的代码片段。

这似乎JmsMessageDrivenChannelAdapter是正确的等价物,我找到了一种方法:

IntegrationFlows.from(Jms.messageDriverChannelAdapter(...))

但问题是这仅接受 ActiveMQ ConnectionFactory 或AbstractMessageListenerContainer,但没有我的引导预配置JmsListenerContainerFactory

这应该如何以最终方式实施?

spring jms spring-integration spring-jms spring-boot

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

在哪一层中度量收集被认为适合领域驱动设计?

我需要从我的域收集和导出指标。在某种程度上,我觉得指标是纯粹基于业务的,因此必须位于领域层。另一方面,我害怕将计数器的状态存储在域中,因为它们的正确状态取决于事务性

想象一下,您有一个典型的 CRUD + 一些次要业务逻辑 DDD 应用程序,并且您想要注册所有创建、更新等,然后通过端点导出它们。你会如何设计这个?

architecture design-patterns domain-driven-design

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

SonarQube 如何通过 JaCoCo 计算覆盖范围?

JaCoCo 只输出 jacococ.exec,这是声纳的输入。在那个文件中,似乎只有信息:

- Class name
- Total Class Probes
- Executed Class Probes
Run Code Online (Sandbox Code Playgroud)

但是,SonarQube 不能仅仅依赖于这些值,因为它需要告诉您哪些是未转换的确切行,因此 Sonar 正在对其自身进行分析。那么它是如何使用 Jacoco 报告的呢?为什么需要它?

jacoco sonarqube

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