小编For*_*rin的帖子

在Heroku上运行使用gradle构建的Spring应用程序

我使用Gradle构建的Spring应用程序有问题.应用程序包括MongoDB(来自Heroku的MongoHQ).

我管理了如何在heroku上推送所有内容,我已将此代码添加到我的项目中:

@Configuration
public class MongoHQConfiguration {

    public @Bean MongoDbFactory mongoDbFactory() throws MongoException, UnknownHostException {
        return new SimpleMongoDbFactory(new MongoURI(System.getenv("MONGOHQ_URL")));
    }

    public @Bean MongoTemplate mongoTemplate() throws Exception {
        return new MongoTemplate(mongoDbFactory());
    }
}
Run Code Online (Sandbox Code Playgroud)

在使用gradle将buildpack更改为one之后,我使用MongoHQ Sandbox在Heroku免费帐户上推送了所有内容.

但在尝试通过Web浏览器运行我的应用程序后,我收到此错误:

应用程序中发生错误,无法提供您的页面.请稍后重试.

如果您是应用程序所有者,请检查日志以获取详细信息.

heroku logs 给我这个输出:

2014-10-15T18:19:30.293964 + 00:00 heroku [web.1]:用命令启动进程 java -Xmx384m -Xss512k -XX:+UseCompressedOops -jar build/libs/*.jar

2014-10-15T18:19:30.797673 + 00:00 app [web.1]:错误:无法访问jarfile build/libs/*.jar

2014-10-15T18:19:31.474525 + 00:00 heroku [web.1]:状态从开始变为崩溃

2014-10-15T18:19:31.464753 + 00:00 heroku [web.1]:进程退出状态1

2014-10-15T18:19:32.577398 + 00:00 heroku [router]:at = error code = H10 desc ="App crashed"method …

java deployment spring heroku gradle

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

在 Docker Compose 中初始化 Postgres 数据库

我有以下docker-compose.yml文件:

version: '3'

services:
  postgres:
    image: postgres
    container_name: postgres
    ports:
      - "5431:5432"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=anime
    volumes:
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
Run Code Online (Sandbox Code Playgroud)

此配置启动 Postgres 数据库。在卷中我定义了 init.sql,它应该设置一个表:

CREATE TABLE anime ( 
  anime_id INT PRIMARY KEY,
  title TEXT
);
Run Code Online (Sandbox Code Playgroud)

然后,我想用 CSV 文件中的数据填充 Postgres 数据库。

我尝试向 docker-compose 添加另一个卷:

 - ./preload.sql:/preload/preload.sql
Run Code Online (Sandbox Code Playgroud)

使用该脚本:

copy anime FROM 'docker/data/AnimeList.csv' DELIMITER ',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

CSV 文件位于data文件夹中,与docker-compose.yml.

但它不起作用。数据库已正确创建,但它没有表和数据。当我连接到 Docker 容器,运行'psql命令并尝试获取anime表时,出现以下错误:

Did not find any relation named "anime".
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在 docker-compose …

postgresql docker docker-compose

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

Initcontainer 与 Helm Hook 安装后对比

Helm Hooks 安装后和 Kubernetes initcontainers 之间有什么区别?据我了解,Hooks 用于定义 Pod 生命周期不同阶段的一些操作,在这种情况下是安装后,而 initcontainers 则允许在部署到 Pod 之前初始化容器。

post-install据我了解, initcontainer 允许做同样的事情,即初始化数据库。

那是对的吗?哪种方法更好?

kubernetes kubernetes-helm

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

Spring Data Streamable 与 Stream

我知道目的是什么以及如何将 Stream 作为查询输出处理,即:

Stream<Person> findAll();
Run Code Online (Sandbox Code Playgroud)

然而,最近我偶然发现org.springframework.data.util.Streamable<T>,其使用方式与 a 相同Stream

Streamable<Person> findByNameContaining(String name, Sort sort);
Run Code Online (Sandbox Code Playgroud)

的用例是什么Streamable

java spring spring-data spring-boot

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

记录需要ASM8

我想尝试一下具有预览功能的最新 Java 15。我使用的是 Spring Boot 2.4.0-M2 和 Gradle 6.7-rc2,它们都支持 Java 15 功能。
我想使用 jib 从我的项目构建一个 docker 镜像。这是我的副臂配置:

jib {
    from {
        image = 'openjdk:15-jdk'
    }   
    to {
        image = '<username>/<project>'
    }
    container {
        jvmFlags = ['--enable-preview']
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行时,./gradlew jib我收到以下错误:

Execution failed for task ':jib'.
> Records requires ASM8
Run Code Online (Sandbox Code Playgroud)

这是使用标志运行时的输出--info

> Task :jib FAILED
Caching disabled for task ':jib' because:
  Build cache is disabled
Task ':jib' is not up-to-date because:
  Task has not declared any outputs …
Run Code Online (Sandbox Code Playgroud)

java gradle docker spring-boot jib

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

锁定 hazelcast 集群中的一个键

我正在编写一个使用 Hazelcast(JCache 标准)进行缓存的分布式应用程序。

我有一个用例,我应该对集群中的特定键加锁,以防止更新期间调用。

  1. thread1:获取 item1 进行配置更改(加锁)
  2. thread2:获取 item1 进行更新。
  3. thread2:将 item1 放入更新和新时间戳。
  4. thread1:将 item1 放入旧值和时间戳

我知道 EhCache 有一个非常相似的东西,它叫做 acquireReadLockOnKey(Object key)。

如何使用 JCache 和/或 Hazelcast 实现这种锁定?

caching jcache hazelcast jsr107

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

从IgniteCache获取密钥

我必须将所有密钥存储在IgniteCache中,不幸的是,此方法未在Ignite中实现。我正在使用Java客户端。我认为这是一种常见方法,Ignite团队未实施该方法的原因是什么?

有没有有效的解决方案来获取密钥?

java ignite

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