99 lines
3.4 KiB
RPMSpec
99 lines
3.4 KiB
RPMSpec
#
|
||
# spec file for package spymemcached
|
||
#
|
||
# Copyright (c) 2023 SUSE LLC
|
||
#
|
||
# All modifications and additions to the file contributed by third parties
|
||
# remain the property of their copyright owners, unless otherwise agreed
|
||
# upon. The license for this file, and modifications and additions to the
|
||
# file, is the same license as for the pristine package itself (unless the
|
||
# license for the pristine package is not an Open Source License, in which
|
||
# case the license is the MIT License). An "Open Source License" is a
|
||
# license that conforms to the Open Source Definition (Version 1.9)
|
||
# published by the Open Source Initiative.
|
||
|
||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||
#
|
||
|
||
|
||
Name: spymemcached
|
||
Version: 2.12.3
|
||
Release: 0
|
||
Summary: A simple, asynchronous, single-threaded memcached client
|
||
License: Apache-2.0
|
||
Group: Development/Libraries/Java
|
||
URL: http://code.google.com/p/%{name}/
|
||
Source0: https://github.com/couchbase/%{name}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||
BuildRequires: fdupes
|
||
BuildRequires: maven-local
|
||
BuildRequires: mvn(com.codahale.metrics:metrics-core)
|
||
BuildRequires: mvn(log4j:log4j)
|
||
BuildRequires: mvn(org.slf4j:slf4j-api)
|
||
BuildArch: noarch
|
||
|
||
%description
|
||
A simple, asynchronous, single-threaded memcached client written in java.
|
||
|
||
• Efficient storage of objects. General serializable objects are stored in
|
||
their serialized form and optionally compressed if they meet criteria. Certain
|
||
native objects are stored as tightly as possible (for example, a Date object
|
||
generally consumes six bytes, and a Long can be anywhere from zero to eight
|
||
bytes).
|
||
|
||
• Resilient to server and network outages. In many cases, a client operation
|
||
can be replayed against a server if it goes away and comes back. In cases where
|
||
it can’t, it will communicate that as well. An exponential backoff reconnect
|
||
algorithm is applied when a memcached becomes unavailable, but asynchronous
|
||
operations will queue up for the server to be applied when it comes back
|
||
online.
|
||
|
||
• Operations are asynchronous. It is possible to issue a store and continue
|
||
processing without having to wait for that operation to finish. It is even
|
||
possible to issue a get, do some further processing, check the result of the
|
||
get and cancel it if it doesn’t return fast enough.
|
||
|
||
• There is only one thread for all processing. Regardless of the number of
|
||
requests, threads using the client, or servers to which the client is
|
||
connected, only one thread will ever be allocated to a given MemcachedClient.
|
||
|
||
• Aggressively optimized. There are many optimizations that combine to provide
|
||
high throughput.
|
||
|
||
%package javadoc
|
||
Summary: API documentation for %{name}
|
||
Group: Documentation/HTML
|
||
|
||
%description javadoc
|
||
API documentation for %{name}.
|
||
|
||
%prep
|
||
%setup -q
|
||
rm lib/*.jar
|
||
|
||
%pom_remove_dep org.springframework:spring-beans
|
||
%pom_remove_dep com.google.code.findbugs:findbugs ivy.xml
|
||
%pom_remove_dep org.springframework:spring-beans ivy.xml
|
||
%pom_remove_dep checkstyle:checkstyle ivy.xml
|
||
%pom_remove_dep jmock:jmock ivy.xml
|
||
%pom_remove_dep junit:junit ivy.xml
|
||
|
||
rm src/main/java/net/spy/memcached/spring/MemcachedClientFactoryBean.java
|
||
|
||
%{mvn_file} : %{name}
|
||
|
||
%build
|
||
%{mvn_build} -f
|
||
|
||
%install
|
||
%mvn_install
|
||
%fdupes %{buildroot}%{_javadocdir}/%{name}
|
||
|
||
%files -f .mfiles
|
||
%license LICENSE.txt
|
||
%doc README.markdown
|
||
|
||
%files javadoc -f .mfiles-javadoc
|
||
%license LICENSE.txt
|
||
|
||
%changelog
|