【问题标题】:Heroku shows Whitelabel Error Page but not on localhostHeroku 显示 Whitelabel 错误页面,但不在本地主机上
【发布时间】:2021-06-29 02:18:26
【问题描述】:

我有一个带有 PostgreSQL 的 Spring Boot 应用程序。该应用程序在本地主机上运行良好,所有数据都来自 PostgreSQL。我已成功将应用程序上传到 Heroku 并将数据库迁移到 Heroku PostgreSQL。问题是当我单击一些从 PostgreSQL 检索数据的链接时,会显示 白色错误页面。但在 localhost 上一切正常。

下面是链接到白色错误页面的控制器。

@Controller
public class MahubiriController {
@Autowired
private MisaleRepository misaleRepository;

@GetMapping("/masomo/somolaleo")
    public String masomoAngalia(Model model){
        model.addAttribute("masomoYote", misaleRepository.findAllOrderByDateDesc() );
        return "masomo";     
} }

下面是仓库

@Repository
@Transactional
public interface MisaleRepository extends JpaRepository <Misale, String> {

@Query(value ="SELECT * FROM misale ORDER BY date DESC" , nativeQuery = true)
public List<Misale> findAllOrderByDateDesc();
 }

下面是特定对象的实体

@Entity
@Table(name = "misale")
public class Misale {

     @Id
     @Column(name ="date")
     private String date;

     @Lob
     @Column(name ="first_reading", columnDefinition="text")
     private String firstReading;

     @Lob
     @Column(name ="second_reading", columnDefinition="text")
     private String secondReading;

     // Constructors, getter and setters

}

以下是用于在 Postgresql 上创建特定表的查询

 CREATE TABLE misale(date VARCHAR(20) NOT NULL PRIMARY KEY, 
 first_reading TEXT NOT NULL,
 second_reading TEXT,gospel TEXT NOT NULL);

Heroku 上可能有什么问题导致白色错误页面而不是在本地主机上。

更新

按照@krishnkant jaiswal 的建议实施异常处理后,我收到如下消息“无法访问 lob str…le to access lob stream”。

     timestamp  "2021-04-03T01:26:43.791+00:00"
     message    "Unable to access lob stream; nested exception is org.hibernate.HibernateException: Unable to access lob stream"
     details    "uri=/masomo/somolaleo"

【问题讨论】:

  • 您必须处理异常并返回完整堆栈错误。否则很难调试。我已经看到发生了类似的错误,因为我试图将更大的数据存储在字符串中。(我的情况可能完全不同)。你可以参考这个:stackoverflow.com/a/66763315/13046620
  • 同样@krishnkantjaiswal 我已经通过迁移存储了大数据,现在我想检索它们我收到白色错误消息。让我按照您的建议实现异常处理。
  • 感谢@krishnkantjaiswal,在您建议的异常处理的帮助下,我最终解决了我的答案中发布的错误。

标签: spring spring-boot spring-mvc heroku heroku-postgres


【解决方案1】:

在异常处理和长期研究的帮助下,在我这边它表明你不能使用

 @Lob and @Column(columnDefinition="text") 

所以我不得不删除@Lob 并离开@Column(columnDefinition="text")

 @Column(columnDefinition="text") 

现在我从 PostgreSQL 云端检索数据,没有错误。

希望它将来可能对其他人有所帮助。

【讨论】:

    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2020-08-01
    相关资源
    最近更新 更多