小编Rag*_*eer的帖子

@EntityScan和@ComponentScan之间的区别

我试图了解这里的区别.我看到一个类已经使用相同的包示例注释了它们:

@Configuration
@EntityScan("some.known.persistence")
@ComponentScan({ "some.known.persistence"})
public class ApiConfig {

}
Run Code Online (Sandbox Code Playgroud)

我理解与API文档的不同之处,但希望详细了解.这也意味着扫描的任何东西@ComponentScan都具有更广泛的可见性和Spring背景,而@EntityScan不是.如果这样使用某些属性@ComponentScan应该已经足够需要在JPA上下文中绑定,不是吗?

spring-annotations spring-boot spring-4 java-annotations

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

Spring 多个 @ConfigurationProperties 具有相同的类

我有一类这样的:

@Data
@Component
@ConfigurationProperties("a.config.props")
public class ClientProperties {

    private String hostname;
    private String port;
    private String baseUrl;
    private String endpoint;
}
Run Code Online (Sandbox Code Playgroud)

我有数十个属性上下文,但对于 1 行,我必须重复整个课程。是否有一种简单而优雅的方法来拥有一个类并以某种方式动态传递属性上下文(可能是一个数组或类似的东西),以便我使用相同的类。

java spring properties spring-boot

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

ApplicationContextException:由于缺少EmbeddedServletContainerFactory bean,无法启动EmbeddedWebApplicationContext

尝试设置一个简单的Web应用程序调度程序.所以这是我的配置:

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework</groupId>
    <artifactId>scheduler</artifactId>
    <version>0.1.0</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>1.1.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.1.7.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <version>1.1.7.RELEASE</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>
    <properties>
        <start-class>hello.Application</start-class>
    </properties>
    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>hello.Application</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-releases</id>
            <name>Spring Releases</name>
            <url>http://repo.spring.io/libs-release</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-releases</id>
            <name>Spring Releases</name>
            <url>http://repo.spring.io/libs-release</url>
        </pluginRepository>

    </pluginRepositories>
</project>
Run Code Online (Sandbox Code Playgroud)

我的课程如下所示

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

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

在 Eclipse 上创建 Jmix 项目

我是 Jmix 平台的新手。我已将 apache 许可证jmix-all代码导入到 eclipse 中。但我不确定如何从中创建一个新项目。我也知道它支持 IntelliJ 中的插件,但我最喜欢的 IDE 正是我想要的。是否也有eclipse插件。

eclipse spring-boot jmix

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

Java泛型:无法从对象转换为T

我有很多响应对象需要提供给 ui。我想要一个模板,这样我就可以做到,到目前为止,下面的代码还没有奏效。

private <T> T getResult(Class clazz){
    String fileName = "/path/file.json";
    File file = new File(BaseEndpoint.class.getResource(fileName.getFile());
    T result = null;

    try {
        result = mapper.readValue(file, clazz);
    } catch (IOException e) {
        e.printStackTrace();
    }

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

java generics casting java-8

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

可选字段的 GROK 模式

我有一个日志字符串,例如:

2018-08-02 12:02:25.904 [http-nio-8080-exec-1] WARN  o.s.w.s.m.s.DefaultHandlerExceptionResolver.handleTypeMismatch - Failed to bind request element
Run Code Online (Sandbox Code Playgroud)

上面的字符串[http-nio-8080-exec-1]是一个可选字段,它可以出现在一些日志语句中。

我创建了一个 grok 模式,就像网上的一些参考文献一样:

%{TIMESTAMP_ISO8601:timestamp} (\[%{DATA:thread}\])? %{LOGLEVEL:level}%{SPACE}%{JAVACLASS:class}\.%{DATA:method} - %{GREEDYDATA:loggedString}
Run Code Online (Sandbox Code Playgroud)

如果我删除线程名称字符串,它似乎不起作用。

logstash-grok

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

带输出的 FileBeat 配置测试

我正在尝试使用filebeat test ouput -e -c filebeat.yml我只看到带有命令列表的帮助消息来测试我的配置。

我实际上是在尝试输出数据文件进行验证。虽然我已经测试过filebeat test config -e -c filebeat.yml了。

filebeat

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

java.lang.NoSuchFieldError: IBM_JAVA

我看到很多对这个问题的引用,我已经在这里发布

我正在使用 Hadoop 2.4.1 和 Flume 1.5.0.1。我的flume-env.sh配置如下

FLUME_CLASSPATH="/var/lib/apache-flume-ng:lib/hadoop-core-1.2.0.jar:lib/hadoop-auth-2.4.1.jar:lib/hadoop-yarn-api-2.4.1.jar:lib/hadoop-mapreduce-client-jobclient-2.4.1.jar:lib/hadoop-mapreduce-client-core-2.4.1.jar:lib/hadoop-common-2.4.1.jar:lib/hadoop-annotations-2.4.1.jar"
Run Code Online (Sandbox Code Playgroud)

对于这些 jar,我又添加了一个 jar,它是在 Flume 的 lib 中可用的 commons-configuration-1.6.jar。我是 Flume 和 Hadoop 的新手。

完整的跟踪如下:

ERROR [conf-file-poller-0] (org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run:149)  - Unhandled error
java.lang.NoSuchFieldError: IBM_JAVA
    at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:337)
    at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:382)
    at org.apache.flume.sink.hdfs.HDFSEventSink.authenticate(HDFSEventSink.java:553)
    at org.apache.flume.sink.hdfs.HDFSEventSink.configure(HDFSEventSink.java:272)
    at org.apache.flume.conf.Configurables.configure(Configurables.java:41)
    at org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:418)
    at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:103)
    at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

ubuntu hadoop flume

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

Java String.replaceAll不替换美元

我想知道为什么只$抛出java.lang.IllegalArgumentException: Illegal group reference异常而不是任何其他特殊字符:

public static void main(String[] args) {
    String s = "asdf ok done %test%";
    String as=s.replaceAll("%test%", "$dsf");
    System.out.println(as);
}
Run Code Online (Sandbox Code Playgroud)

这可以通过\\添加之前添加,$但为什么只有这个角色.

java

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

SpringRunner无法检测到配置

我有一个弹簧启动应用程序,正在尝试为其创建单元测试用例。下面是我要运行的代码,我没有任何配置文件(仅使用注释),因此加载所有配置的主类是ElastSearchBootApplicationclass。由于某种原因,我看到以下错误。

@ComponentScan(basePackages = "com.somename")
@SpringBootApplication
@EnableScheduling
public class ElastSearchBootApplication {

    private static final Logger LOG = LoggerFactory.getLogger(ElastSearchBootApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(ElastSearchBootApplication.class, args);
    }

    @Autowired
    private ElastSearchLogLevel logsSearch;

    @Scheduled(fixedRate = 120000)
public void scheduledSearchLogs() {
        ...
Run Code Online (Sandbox Code Playgroud)

测试类别:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ElastSearchBootApplication.class)
public class LogSearchTest {

    @Mock
    private RestHighLevelClient client;
    @Mock
      private ExecutorService ALERT_POOL;

    @Before
    public void setUp() throws Exception {
          client = mock(RestHighLevelClient.class);
        ALERT_POOL = mock(ExecutorService.class);

        try {
            when(client.search(anyObject())).thenReturn(getResponse());
        } catch (Exception e) {
            // I …
Run Code Online (Sandbox Code Playgroud)

spring spring-test spring-boot

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

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