Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.entity.solr;import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;import javax.persistence.*;import java.io.Serializable;import java.time.LocalDateTime;/*** Entity for tracking failed Solr update attempts.* Failures are logged here for visibility and targeted retries.*/@Entity@Table(name = "solr_update_failures", indexes = {@Index(name = "idx_status", columnList = "status"),@Index(name = "idx_catalog_id", columnList = "catalog_id")})public class SolrUpdateFailure implements Serializable {private static final long serialVersionUID = 1L;@Id@Column(name = "id", columnDefinition = "int(10) unsigned")@GeneratedValue(strategy = GenerationType.IDENTITY)private int id;@Column(name = "catalog_id", nullable = false)private int catalogId;@Column(name = "item_id")private int itemId;@Column(name = "change_type", length = 50)private String changeType;@Column(name = "error_message", columnDefinition = "TEXT")private String errorMessage;@Column(name = "retry_count", columnDefinition = "int default 0")private int retryCount;@Column(name = "status", length = 20, columnDefinition = "varchar(20) default 'PENDING'")private String status;@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "created_at")private LocalDateTime createdAt;@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "last_retry_at")private LocalDateTime lastRetryAt;public SolrUpdateFailure() {this.createdAt = LocalDateTime.now();this.status = "PENDING";this.retryCount = 0;}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getCatalogId() {return catalogId;}public void setCatalogId(int catalogId) {this.catalogId = catalogId;}public int getItemId() {return itemId;}public void setItemId(int itemId) {this.itemId = itemId;}public String getChangeType() {return changeType;}public void setChangeType(String changeType) {this.changeType = changeType;}public String getErrorMessage() {return errorMessage;}public void setErrorMessage(String errorMessage) {this.errorMessage = errorMessage;}public int getRetryCount() {return retryCount;}public void setRetryCount(int retryCount) {this.retryCount = retryCount;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}public LocalDateTime getCreatedAt() {return createdAt;}public void setCreatedAt(LocalDateTime createdAt) {this.createdAt = createdAt;}public LocalDateTime getLastRetryAt() {return lastRetryAt;}public void setLastRetryAt(LocalDateTime lastRetryAt) {this.lastRetryAt = lastRetryAt;}@Overridepublic String toString() {return "SolrUpdateFailure{" +"id=" + id +", catalogId=" + catalogId +", itemId=" + itemId +", changeType='" + changeType + '\'' +", status='" + status + '\'' +", retryCount=" + retryCount +", createdAt=" + createdAt +", lastRetryAt=" + lastRetryAt +'}';}}